v1.1.16+Parallel-2.0
Pre-releaseAbout
This is a dedicated release for the feature of Parallel EVM, which was proposed in BEP130;
Since the feature is a bit complicated, we targeted to implement it with 3 phases:
Parallel 1.0: the main components and procedure will be implemented in phase 1.0.
Parallel 2.0: a performance enhancement phase, to redesign the pipeline, solve the conflict challenges, shadowed slot...
Parallel 3.0: to support validator mode, parallel mining would be a bit different from the importing procedure, it will be started later.
We release Parallel 2.0 right now, in case people of the community may interest and wanna to have a try of it.
For the architecture designed of Parallel 2.0, you may refer #39
Right now, it support BSC mainnet & testnet only; Ethereum can be supported too, but some porting efforts may be needed.
We have done lots of stable tests, we covered almost all the blocks of BSC mainnet & testnet and lots of corner cases have been fixed. But we still can not guarantee that this release is bug free, if you encounter any problem, pls let us know by raising issues in node-real bsc repo.
Parallel transaction running is a hot topic, it would be great if more people can join it and push it forward.
Usage
It is quite easy to enable the parallel evm mode: geth --syncmode full --parallel
or to set the parallel number manually: geth --syncmode full --parallel --parallel.num 10
--parallel Enable the experimental parallel transaction execution mode, only valid in full sync mode (default = false)
--parallel.num value Number of slot for transaction execution, only valid in parallel mode (runtime calculated, no fixed default value)