Deploy an ERC20 Token
Example contract
Let's start with a simple ERC20 token an example contract:
Code Explanation
Imports: The contract imports the ERC20
and Ownable
contracts from OpenZeppelin.
Constructor: The constructor initializes the token with a name ("ExampleToken") and symbol ("ETK"), and mints the initial supply to the contract deployer.
Mint Function: The mint
function allows the owner (i.e. the account that deployed the contract) to mint additional tokens.
Deploy using Hardhat
Set up the environment
Create a folder for your project:
mkdir ExampleToken && cd ExampleTokem
.Install Hardhat:
npm install --save-dev hardhat
.Create a new Hardhat project:
npx hardhat
.Follow the prompts to set up a basic sample project.
Install dependencies
Update Hardhat Config
Open hardhat.config.js
and configure the IoTeX network:
Replace YOUR_PRIVATE_KEY
with the private key of the account you want to use for deployment.
-> Claim Test IOTX
Create the Contract File
Create a new contracts
directory and new file contracts/ExampleToken.sol
and add the ERC20 token contract code provided above.
Write a Deployment Script
Create a new directory scripts
and add a file deploy.js
with the following content:
Deploy the Contract:
This setup should provide a comprehensive tutorial on deploying a basic ERC20 token contract on the IoTeX blockchain using HardHat. Make sure to replace YOUR_PRIVATE_KEY
with your actual development account's private key.
Deploy using Foundry
This quick start guide will help you deploy smart contracts on the IoTeX blockchain using the Foundry suite. Foundry is a fast, portable, and modular toolkit for Ethereum application development written in Rust.
Setup the Environment
If you haven't installed Foundry, use the following command:
Set Up Your Project
Create a new project directory and navigate into it:
Initialize a new Foundry project:
Write Your Smart Contract
Navigate to the src
directory and create a new Solidity file ExampleToken.sol
and add the ERC20 token contract code provided above.
Compile Your Smart Contract
Compile the smart contract using Foundry:
Configure a Deployment Script
Foundry uses cast
to interact with the blockchain. Create a .env
file to store your private key securely:
Load the environment variables:
Deploy Your Smart Contract
Use the cast send
command to deploy your contract to the IoTeX testnet. Replace MyContract
with the name of your compiled contract and adjust the RPC URL if needed.
Verify the Deployment
Once deployed, you will receive a transaction hash. Use this hash to verify the deployment on the IoTeX testnet explorer.
Example Contract Interaction
After deployment, you can interact with your contract. For example, to call the setMessage
function:
Conclusion
By following this quick start guide, you have successfully deployed a smart contract on the IoTeX blockchain using the Foundry suite. Foundry’s powerful tools make it easy to develop, deploy, and interact with smart contracts on IoTeX. For more advanced features and configurations, refer to the Foundry documentation.
If you have any questions or run into issues, feel free to ask our community on Discord!
Last updated