Prerequisites
Foundry
For this tutorial, you will be using the Foundry toolkit to develop, compile, and deploy your contracts. If you do not have Foundry installed, follow the Foundry installation instructions.Setup
First, create a new directory for your project.Implementing the Contract
Before writing the contract, first rename the template contract toNewInitiaERC20.sol.
InitiaCustomERC20 contract from the
@initia/initia-evm-contracts package.
src/NewInitiaERC20.sol
InitiaCustomERC20 contract and add the constructor to
initialize the contract with the name, symbol, and decimals of your custom
ERC20. For this tutorial, you will simply customize the base contract by adding
a logic to mint tokens to the contract deployer during deployment.
src/NewInitiaERC20.sol
forge compile, you will get an error.
This is because the default Counter.t.sol and Counter.s.sol expect the
original Counter.sol contract to be available. To fix this, rename
Counter.t.sol to NewInitiaERC20.t.sol and Counter.s.sol to
NewInitiaERC20.s.sol.
NewInitiaERC20.t.sol file with the following
placeholder content.
test/NewInitiaERC20.t.sol
NewInitiaERC20.s.sol file with following
placeholder content.
script/NewInitiaERC20.s.sol
forge compile should work without any errors.
Expected Output:
Deploying the Contract
Now that the contract is compiled and ready, you can deploy it to the MiniEVM. To accomplish this, use Foundry’sforge create command
Expected Output:
cast call command.