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 : - 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 - contractsfolder named- MyToken.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, initialSupply * 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.jsinside 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 Browser Extension > 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