Changelog
Description
Release v1.0.2 is a performance release. The following three features are introduced in this release.
Separate Processing and State Verification.
Pruning AncientDB inline at runtime.
Double Sign Monitor
Fast Node
Fast Node is introduced in #926, it is a new syncing protocol to lower the hardware requirement and improve the syncing efficiency.
This release introduces two types of nodes to make full use of different storage, one is called fast node, and the other is called verify node. The fast node will do block processing with a flattened key-value DB, it will do all verification against blocks except the state root. The verify node receives diffhash
from the fast node and then responds MPT root to assist with the state root verification.
It turns out that the fast node can slow down the storage growth by 60%~90% according to different settings and increase the syncing efficiency by about 30%. We encourage node operators who do not care about 100% state consistency to enable fast nodes by appending --tries-verify-mode
none to the node command.
Note: fast node can never revert to full node.
Pruning AncientDB inline at runtime
A new flag is introduced to prune ancient undesired block data at runtime, it will discard block, receipt, header in the ancient DB to save space.
Example: geth --config ./config.toml --datadir ./node --cache 8000 --rpc.allow-unprotected-txs --txlookuplimit 0 --syncmode full --pruneancient.
Note:
once turned on, the ancient data will not be recovered again
only under '--syncmode full' mode supports --pruneancient flag
Double Sign Monitor
Add a header monitor to detect the header that was a double sign from the validator.
Enable the monitor with flag --monitor.doublesign.
e.g. geth --config ... --datadir ... --monitor.doublesign
Command Changes
After merging the BSC v1.1.19, some Flag parameters have changed, please refer to the following list.
Removed
--yolov3
--vm.ewasm
--vm.evm
--rpc
(use --http)--rpcaddr
(use --http.addr)--rpcport
(use --http.port)--rpccorsdomain
(use --http.corsdomain)--rpcvhosts
(use --http.vhosts)--rpcapi
(use --http.api)
Added
--dev.gaslimit
Initial block gas limit--sepolia
Sepolia network: pre-configured proof-of-work test network--override.arrowglacier
Manually specify Arrow Glacier fork-block, overriding the bundled setting--override.terminaltotaldifficulty
Manually specify TerminalTotalDifficulty, overriding the bundled setting--rpc.evmtimeout
Sets a timeout used for eth_call (0=infinite)--gpo.ignoreprice
Gas price below which gpo will ignore transactions--metrics.influxdbv2
Enable metrics export/push to an external InfluxDB v2 database--metrics.influxdb.token
Token to authorize access to the database (v2 only)--metrics.influxdb.bucket
InfluxDB bucket name to push reported metrics to (v2 only)--metrics.influxdb.organization
InfluxDB organization name (v2 only)
Changed
--syncmode
removed thefast
mode
IMPROVEMENT
- #2 merge bsc v1.1.19
BUGFIX
- #1 core/txpool: implement additional DoS defenses
Assets
Assets | Sha256 Checksum |
---|---|
mainnet.zip | 7b04dfe81be715ac80848c075f7ea02c052e3890d29a7547e2d442ce27015e89 |
testnet.zip | 14c913383f2c1a661c120f4fe819d817265c1012586f7aff425cedddc7d6c628 |
geth_linux | 4efb068157d01a946be5e9b3e2e73619e9cacc8664ed24acf06957ebae38ff5c |
geth_mac | 27d60dc661342cc9779ad1782716a2e89da94ae27048b7a97b522bb0fbceda92 |
geth_windows | 92ff42c37f79d34bd70d8743499a687eb1ce38d10edf935ca2a81a1276406a5d |
geth_linux_arm-5 | 2c9c59e86bce6fab311df284d0b70298b5f7f65270b90ee541c7a119613e5578 |
geth_linux_arm-6 | 99de1e8fca439ece61157ce1a27baa9fc0b78461ee29a81adb42e99f7f63fa71 |
geth_linux_arm-7 | 4324a48c3fda75eafbc287baeeec88dc34b6bad0591dae67681cdd5a73a204c8 |
geth_linux_arm64 | cdbbdfbeb9915eecac510b06e5c744ca63eabd763b2a62f2607ba3af455ff3c1 |