Deploy Smart Contracts with Remix
In this tutorial, we’ll walk you through creating and deploying a basic ERC-20 token dApp on the HeLa testnet using Remix IDE, which is an open source web and desktop application that provides a fast development cycle with intuitive GUIs and a rich set of plugins.
Prerequisites
Before we start, let’s make sure you’ve got the right setup:
Browser: Chrome, Brave, or Firefox (latest versions work best).
Wallet :
MetaMask installed.
Add the HeLa testnet RPC (details will be shared by the chain team).
Fund your wallet with testnet tokens (faucet link).
Remix IDE: No install required. Just open Remix in your browser. Visit https://remix.ethereum.org
Step 1: Create ERC-20 Token Contract
In the file explorer, create a new file under the
contracts
folder namedMyToken.sol
Copy and paste the following ERC-20 token contract code:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9;
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
/// @title MyToken - A basic ERC20 Token on HeLa Chain
/// @custom:dev-run-script ./scripts/deploy.js
contract MyToken is ERC20 {
constructor(uint256 initialSupply) ERC20("MyFirstHeLaToken", "HLT") {
_mint(msg.sender, 5000 * 10 ** decimals());
}
}
Customizing Your Token
You can customize your token by changing:
"MyFirstHelaToken"
- The token name"HLT"
- The token symbol (appears in MetaMask, max 5 characters)5000
- The initial token supply minted to your wallet </aside>
Step 2: Adding a Deploy Script
Remix uses NatSpec annotations to link contracts with scripts.
In Remix’s File Explorer, create a folder:
scripts/
.Create
deploy.js
inside it.Paste this code:
// scripts/deploy.js
async function main() {
// Get the signer (the deployer wallet from Remix environment)
const [deployer] = await ethers.getSigners();
console.log("Deploying contracts with account:", deployer.address);
// Compile + get contract factory
const Token = await ethers.getContractFactory("MyToken");
// Deploy contract
const token = await Token.deploy();
await token.deployed();
console.log("MyToken deployed to:", token.address);
}
// Run the script with error handling
main()
.then(() => process.exit(0))
.catch((error) => {
console.error(error);
process.exit(1);
});
Step 3: Compile the Contract
Before deploying, we’ll make one important tweak to avoid compilation errors.
Go to the Solidity Compiler tab in the left sidebar
Expand Advanced Configurations.
Under EVM Version, select Homestead (this ensures smooth compatibility with HeLa’s runtime).
Your settings should look like this:

Now click Compile.
If the compilation succeeds, you’ll see a green check.
Step 4: Deploy to HeLa
Navigate to the Deploy & Run Transactions tab
In the Environment dropdown, select Injected Provider - MetaMask
Network Detection
If Injected Provider cannot detect the network, refresh the Remix IDE page and switch between networks in MetaMask.
Select your MyToken contract from the dropdown
Enter an initial supply (e.g.,
100000
)Click Deploy to deploy your ERC-20 token contract
Confirm the deployment transaction in MetaMask

Step 5: Get Contract Address
After successful deployment, copy the Contract Address from Remix, from the terminal.
Step 6: Verify on Block Explorer
In MetaMask, click on the transaction and select View on block explorer
Verify that the ERC-20 token transfer is displayed correctly on the explorer
Step 7: Import Token to MetaMask
In MetaMask, go to Tokens tab and click Import Tokens.

Paste the contract address from Remix into the Token Contract Address field
The token information should auto-populate (Token Symbol and Decimals)
Click Add Custom Token and then Import Tokens
Step 8: Verify Token Balance
Check your Tokens tab in MetaMask to see your newly minted tokens
You should see 100000 tokens (or your custom amount) in your wallet
Step 9: Transfer Tokens
Select your token in MetaMask and click Send
Enter the recipient address and amount
Click Next and confirm the transaction
Wait for the transaction to be confirmed
Testing Tips
Test token transfers between different MetaMask accounts
Verify all transactions appear correctly on the block explorer
If you encounter issues, try resetting MetaMask via settings
Troubleshooting
If you encounter issues:
Network not detected: Refresh Remix and switch networks in MetaMask
Transaction fails: Ensure you have sufficient HLUSD for gas fees
Token not appearing: Double-check the contract address when importing
MetaMask issues: Reset MetaMask via settings if problems persist
Support :
If you encounter any issues during setup or require assistance, please join the HeLa Developer Community for direct support and guidance.
Last updated