▶
Deploying your contracts
The example is based on Hardhat framework
contracts/Token.sol
// 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);
}
}
Add network following network config to
hardhat.config.ts
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,
},
},
},
],
},
...
}
npx hardhat compile
scripts/deploy.ts
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
Now you will find your deployed contract on rei scan
- 1.Go to
code
tab and selectVerify and Publish

2. Select
Via flattened source code

3. Fill in the following

npx hardhat flatten
Make sure that you do not have duplicate licenses.
Remove duplicate licenses and leave the one on top
Ex. // SPDX-License-Identifier: MIT
Last modified 10mo ago