Remix

Remix IDE allows developers to deploy their smart contracts using MetaMask, which is universally convenient. This platform doesn't require a setup, and comes with a series of plugins that offer simple GUIs.

Remix is supported by Firefox, Chrome, Brave, and other Chromium-based browsers. The platform is also available as a Desktop IDE and a VScode extension.

This guide assumes that the reader has at least some familiarity with the Solidity programming language for smart contracts, and general dApp development on the Ethereum network.

The following steps will guide you to effective smart contract deployment on Remix.

1. Go to https://remix.ethereum.org/. Make sure that you have the Atlantis Network added to your Metamask and a few BCX tokens are in your wallet to be used as Gas for creating a smart contract.

If you need some BCX tokens for the testnet, go to https://faucet.blockxnet.com, then enter your Metamask address.

Below is the default interface of Remix:

Let’s try to create a new file. We’ll create a new token within the Atlantis Network using just a few lines of Solidity code commonly available across the internet:

pragma solidity ^0.8.2;
 
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol";
import "@openzeppelin/contracts/access/Ownable.sol";
 
contract MyToken is ERC20, ERC20Burnable, Ownable {
   
    constructor() ERC20("My Token", "Myt") {
        _mint(msg.sender, 1000000 * 10 ** 18);
    }
 
    function mint(address to, uint256 amount) public onlyOwner {
        _mint(to, amount);
    }
}

2. Create a new file:

Then enter a filename. For this example, we've named it MyToken.sol.

3. Paste the Solidity code shown below to the newly created file. Then Save.

pragma solidity ^0.8.2;

import "@openzeppelin/contracts/token/ERC20/ERC20.sol"; 
import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol";
import "@openzeppelin/contracts/access/Ownable.sol";

contract MyToken is ERC20, ERC20Burnable, Ownable {
    
    constructor() ERC20("MyToken", "Myt") {
        _mint(msg.sender, 1000000 * 10 ** 18);
    }
    
    function mint(address to, uint256 amount) public onlyOwner {
        _mint(to, amount);
    }
}

4. Upon saving, you will see more files being added to your workspace. They are our new dependencies since we imported the OpenZeppelin libraries.

5. Look for the Compile icon on the left navigation panel of Remix - the 3rd icon. Then click on the Compile button.

6. Once you have successfully compiled the file, Remix will show you the Compile icon with a checkmark added to it. There’ll be no checkmark if an error had occurred during compilation and you’ll see error message(s) as well.

You will now be able to copy the ABI of the contract which is commonly used in Web3 when it comes to tampering with the contract.

7. To Deploy, click the Deploy button on the left which is the 4th icon in Remix. For the Environment, select Injected Provider - Metamask to use your Metamask wallet in deploying the contract. Make sure that the Atlantis Network is selected and the chosen wallet has BCX in it for gas fee coverage.

One of the ways to verify if you’ve got the right wallet is checking if the address is correct, as well as the balance right beside it (displayed in ether).

8. Once you click Deploy, it will open up a MetaMask window where you’ll see the gas fee needed for deploying the contract. Click Confirm for the contract to be deployed.

9. To find out the outcome of the deployment, check the lower section of Remix, which should show you something like this:

On the left side, there is the Deployed Contracts section, which, if you click on the arrow on the left side of the MyToken contract, should open more options for interacting with the contract.

The Copy icon allows you to copy the contract address of the deployed contract to add it to your Metamask since it is a token.

On the right side, you’ll see more info if you click on the right arrow. It should show you transaction info.

10. Once you have copied the Contract Address, you can then add it to your Metamask. Once the Metamask window opens, you’ll notice that there is a small amount of BCX tokens deducted from your balance. Click on the Assets tab, then click Import tokens.

11. Paste the contract address that you copied from Remix. If the contract address that you copied is correct, MetaMask will automatically show your token symbol.

Click Add Custom Token. It will show you a confirmation page before being able to add the token. It will also show you your token balance.

12. A confirmation page will appear before you can add the token. Click Import Tokens.

13. You should then be able to see your token on MetaMask where you can send tokens to other Atlantis Network users, just like you send tokens on Ethereum or Binance Smart Chain.

14. If you want to see further info on your contract, you can go to https://explorer.blockxnet.com and enter either the contract address or the transaction hash. Both are available in the Remix lower section after you deploy the contract.

Click on the token name that you deployed to see more info about the token.

15. If you clicked on the token name of your token, it should have taken you to the token page where you can see the Token Holders, Total Supply, Number of Holders and Number of Transfers.

Congratulations, you have successfully deployed a smart contract on the Atlantis Testnet using Remix, and are now able to see transaction details on a block explorer!

Last updated