GZ Github
We detail a few of the core contracts.
GridZone.io (ZONE) tokenHolders of ZONE token have the ability to govern the protocol via the governor contract.
Governor AlphaThe administrator of the timelock contract. Holders of ZONE token may create and vote on proposals which will be queued into the timelock.
Installation
Pull the repository from GitHub and install its dependencies. You will need npm installed.
git clone https://github.com/GridZone/gridzone-governance.git
cd gridzone-governance
npm installEnvironment
Create files storing private key and infura API key.
cp .secrets.json.template .secrets.jsonOpen .secrets.json with text editor, write menemonic, infra API key, and etherscan API key
Compile
Compile the smart contracts.
npx hardhat compileDeploy and Verify contracts
You can deploy contracts and verify with etherscan API key.
npx hardhat deploy --network mainnetAnd you can deploy contracts and verify them individually.
GridZone
npx hardhat deploy --network mainnet --tags mainnet_ZONE_deploy
npx hardhat deploy --network mainnet --tags mainnet_ZONE_verifyTimelock
npx hardhat deploy --network mainnet --tags mainnet_Timelock_deploy
npx hardhat deploy --network mainnet --tags mainnet_Timelock_verifyGovernor Alpha
npx hardhat deploy --network mainnet --tags mainnet_GovernorAlpha_deploy
npx hardhat deploy --network mainnet --tags mainnet_GovernorAlpha_verifyVoteBox
npx hardhat deploy --network mainnet --tags mainnet_VoteBox_deploy
npx hardhat deploy --network mainnet --tags mainnet_VoteBox_verifyPrint out deployed contracts
npx hardhat run --network mainnet scripts/addresses.jsChange the Timelock admin as GovernorAlpha contract
execute setPendingAdmin of Timelock contract. The parameter is the address of GovernorAlpha contract. This function must be called by Timelock admin
execute __acceptAdmin of GovernorAlpha contract. This function must be called by GovernorAlpha guardian
Test
Deploy on testnet
npx hardhat deploy --network ropsten --tags ropstenLast updated
Was this helpful?