Deployment tools of BSC
Installation
Before proceeding to the next steps, please ensure that the following packages and softwares are well installed in your local machine:
- nodejs: v16.15.0
- npm: 6.14.6
- go: 1.24+
- foundry
- python3 3.12.x
- poetry
- jq
Quick Start
- Clone this repository
git clone https://github.com/bnb-chain/node-deploy.git
- For the first time, please execute the following command
pip3 install -r requirements.txt
- build
create-validator
# This tool is used to register the validators into StakeHub. cd create-validator go build
- Configure the cluster
You can configure the cluster by modifying the following files:
- `config.toml`
- `genesis/genesis-template.json`
- `genesis/scripts/init_holders.template`
- `.env`
- Setup all nodes. two different ways, choose as you like.
bash -x ./bsc_cluster.sh reset # will reset the cluster and start # The 'vidx' parameter is optional. If provided, its value must be in the range [0, ${BSC_CLUSTER_SIZE}). If omitted, it affects all clusters. bash -x ./bsc_cluster.sh stop [vidx] # Stops the cluster bash -x ./bsc_cluster.sh start [vidx] # only start the cluster bash -x ./bsc_cluster.sh restart [vidx] # start the cluster after stopping it
- Setup a full node. If you want to run a full node to test snap/full syncing, you can run:
Attention: it relies on the validator cluster, so you should set up validators by
bsc_cluster.shfirstly.
# reset a full sync node0 bash +x ./bsc_fullnode.sh reset 0 full # reset a snap sync node1 bash +x ./bsc_fullnode.sh reset 1 snap # restart the snap sync node1 bash +x ./bsc_fullnode.sh restart 1 snap # stop the snap sync node1 bash +x ./bsc_fullnode.sh stop 1 snap # clean the snap sync node1 bash +x ./bsc_fullnode.sh clean 1 snap # reset a full sync node as fast node bash +x ./bsc_fullnode.sh reset 2 full "--tries-verify-mode none" # reset a snap sync node with prune ancient bash +x ./bsc_fullnode.sh reset 3 snap "--pruneancient"
You can see the logs in .local/fullnode.
Generally, you need to wait for the validator to produce a certain amount of blocks before starting the full/snap syncing test, such as 1000 blocks.
Background transactions
## normal tx cd txbot go build ./air-drops ## blob tx cd txblob go build ./txblob