// SPDX-License-Identifier: MIT
pragma solidity 0.8.9;
import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Capped.sol";
contract MyToken is ERC20Capped {
constructor(uint256 _cap) ERC20("MyToken", "XXX") ERC20Capped(_cap) {
ERC20._mint(msg.sender, _cap);
}
}
const config: HardhatUserConfig = {
...
networks: {
rei: {
url: 'https://rei-rpc.moonrhythm.io',
chainId: 55555,
},
reitest: {
url: 'https://rei-testnet-rpc.moonrhythm.io',
chainId: 55556,
},
...
solidity: {
compilers: [
{
version: '0.8.9',
settings: {
optimizer: {
enabled: true,
runs: 1000000,
},
},
},
],
},
...
}
import { ethers } from 'hardhat'
async function main() {
let [owner] = await ethers.getSigners()
const factory = await ethers.getContractFactory(
'contracts/Token.sol'
)
const contract = await factory.deploy('100000000000') // capped
await contract.deployed()
}
main()
.then(() => process.exit(0))
.catch((error) => {
console.error(error)
process.exit(1)
})
npx hardhat run --network reitest -- scritps/deploy.ts
npx hardhat run --network rei -- scritps/deploy.ts
2. Select Via flattened source code
3. Fill in the following