To start your own custom network, you need to manually configure the genesis file. Once you finished the setup, it allows you to connect to your own network rather than connect to official network (mainnet / testnet)
launchTime: Launch time (unix timestamp) of your network (i.e. the time of genesis block). If you set the time in the future, master node would not propose block before that.
gasLimit: Initial block gas limit.
extraData: Additional data set to genesis block, limited to 28 characters.
accounts: Preallocated accounts in genesis block, including
authority: Authority master nodes.
params: Governance parameters.
executor: Executor params for on-chain governance, setting approvers means using VeChain builtin executor, omit means an external address.
For setting the authority node, you need to get your authority node's master address first, simply running the following command
The master address will be shown.
Endorsor Addressis the endorser's address for authority node, you need to ensure the
Endorsor Addressreach the minimum amount of
proposerEndorsement. You can adjust the minimum endorsement amount of VET by changing
Identityis an identifier of the authority node.
rewardRatio: Reward ratio for block proposer.
baseGasPrice: Base gas price in
proposerEndorsement: Authority node endorsement in
executorAddress: Executor address, if there is approver in
executor, the address will be set code of
Builtin Executor Contractand set up the approves, otherwise the executor will be an external address.
Start all your nodes by running
thor --network genesis.jsonand wait for the nodes to connect to each other and then the master nodes will start packing the blocks.
Starting a custom network will use the foundation's bootnode to discover nodes by default. This means you need at least 1 node with public IP attached. Thor provides the ability to specify bootnode.
- 1.Start thor by
thor --network genesis.jsonthen get
Node IDin the startup info, it looks like
[extip]with the real ip address of your machine.
- 3.Launch nodes by running
thor --network genesis.json --bootnode "NodeID-1,NodeID-2...".