This repo hold all the genesis contracts on Binance Smart chain. More details in doc-site.
The software and related documentation are under active development, all subject to potential future change without notification and not ready for production use. The code and security audit have not been fully completed and not ready for any bug bounty.
Install dependency:
npm install
Generate contracts for testing:
# the first account of ganache
node generate-system.js --mock true
node generate-systemReward.js --mock true
node generate-validatorset.js --mock true
node generate-system.js --mock true
node generate-slash.js --mock true
node generate-crosschain.js --mock true
node generate-tokenhub.js --mock true
node generate-tendermintlightclient.js --mock true
node generate-relayerincentivizecontract.js --roundSize 30 --maximumWeight 3 --mock true
Start ganache:
ganache-cli --mnemonic 'clock radar mass judge dismiss just intact mind resemble fringe diary casino' --gasLimit 13000000 -e 10000
Run truffle test:
truffle compile
truffle migrate
truffle test
Flatten all system contracts:
npm run flatten
- Edit
init_holders.js
file to alloc the initial BNB holder. - Edit
validators.js
file to alloc the initial validator set. - Edit
generate-validatorset.js
file to changefromChainId
andtoChainId
, - Edit
generate-tokenhub.js
file to changerefundRelayReward
,minimumRelayFee
andmaxGasForCallingBEP2E
. - Edit
generate-tendermintlightclient.js
file to changechainID
andinitConsensusStateBytes
. - run
node generate-genesis.js
will generate genesis.json
The library is licensed under the Apache License, Version 2.0, also included in our repository in the LICENSE file.