▶️Deploying your contracts
The example is based on Hardhat framework
Prerequisite
Please follow Hardhat guide here
Example: To create a Fixed-cap Asset
// 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,
},
},
},
],
},
...
}
Compile your code using
npx hardhat compile
Deploy script
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)
})
Deploy to testnet
npx hardhat run --network reitest -- scritps/deploy.ts
Deploy to mainnet
npx hardhat run --network rei -- scritps/deploy.ts
Verify Contract
Now you will find your deployed contract on rei scan
Mainnet: https://reiscan.com/
Testnet: https://testnet.reiscan.com/
Go to
code
tab and selectVerify and Publish

2. Select Via flattened source code

3. Fill in the following

To get flattened code
npx hardhat flatten
Last updated
Was this helpful?