Skip to content

The genesis contracts of Binance Smart Chain.

License

Notifications You must be signed in to change notification settings

Shiba-Chain/bsc-genesis-contract

This branch is 5 commits ahead of spaweb/bsc-genesis-contract:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

2978076 · Dec 25, 2021
Dec 25, 2021
Dec 25, 2020
Oct 25, 2021
Dec 25, 2020
Oct 25, 2021
Sep 3, 2020
Nov 11, 2020
May 20, 2020
Jul 3, 2020
May 20, 2020
Jul 3, 2020
May 20, 2020
Aug 27, 2020
Jul 3, 2020
Oct 25, 2021
Aug 7, 2020
Jul 14, 2020
Jul 3, 2020
May 20, 2020
May 20, 2020
Aug 27, 2020
May 20, 2020
Oct 25, 2021
Aug 18, 2020
Oct 25, 2021
May 20, 2020
Aug 27, 2020
Dec 2, 2021
Oct 25, 2021
May 20, 2020
Jul 11, 2020
Jul 11, 2020

Repository files navigation

bsc-genesis-contracts

This repo hold all the genesis contracts on Binance Smart chain. More details in doc-site.

Prepare

Install dependency:

npm install

unit test

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

how to generate genesis file.

  1. Edit init_holders.js file to alloc the initial BNB holder.
  2. Edit validators.js file to alloc the initial validator set.
  3. Edit generate-validatorset.js file to change fromChainId and toChainId,
  4. Edit generate-tokenhub.js file to change refundRelayReward, minimumRelayFee and maxGasForCallingBEP20.
  5. Edit generate-tendermintlightclient.js file to change chainID and initConsensusStateBytes.
  6. run node generate-genesis.js will generate genesis.json

License

The library is licensed under the Apache License, Version 2.0, also included in our repository in the LICENSE file.

About

The genesis contracts of Binance Smart Chain.

Resources

License

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published

Languages

  • Solidity 55.0%
  • JavaScript 45.0%