Fake RPC Server for Testing
Dependencies
Please follow the guide for multi-node testnet. And do add the --mainnet-url
option to specifiy a bitcoincashnode's RPC endpoint, which can be a real one or a fake one, just as following:
Running a Fake RPC Server for Testing
The bchnode
tool mimics a real bitcoincashnode's RPC behavior. You can use it with the following steps:
Start the bchnode RPC Server
Add a New Validator's public key and voting power
The format is pubkey
-votingPower
-action
, where the action can be "add", "edit" or "retire".
The bchnode
produces blocks with fixed interval (default is 3 seconds) to vote for the validators.
Adjust block interval
To change the block interval to 10 seconds:
Simulate a Block Reorg
The bchnode
will simulate a fork at the height which is 8 blocks less than current height, and re-generate the recent 8 blocks.
The Suggested Scenarios for Test
Configure
bchnode
to follow the voting power and pubkeys specified in genesis.jsonKeep the current voting power and pubkeys for three epochs.
Change the voting power setting of
bchnode
, such that at new epochs, the smartbchd follows the new voting power.Run block reorg at
bchnode
, and smartbchd can work normally.Add new validators in and let
bchnode
vote them to be active.Restart smartbchd and it can also work fine.
smartBCH parameters for testing with bchnode
Last updated