mirror of
https://gitlab.com/pulsechaincom/erigon-pulse.git
synced 2024-12-25 13:07:17 +00:00
835b954f5c
* Remove interfaces * Squashed 'interfaces/' content from commit e06631eb4 git-subtree-dir: interfaces git-subtree-split: e06631eb4d0926c2d6a4f552497b920b4ed8d1bd * Update KV interface * Squashed 'interfaces/' changes from e06631eb4..014677ffe 014677ffe Merge remote-tracking branch 'origin/master' into stream 08c32a09e add version method to txPool and ethbackend 5b6bf70b9 Update README.md 7712cb267 Update README.md f895ece4c save (#37) git-subtree-dir: interfaces git-subtree-split: 014677ffe5bff0dee1a333f06c92e6110d791468 * Fix old interfaces * Squashed 'interfaces/' changes from 014677ffe..df31e1146 df31e1146 remove action from storage change git-subtree-dir: interfaces git-subtree-split: df31e1146c368eda2e2b15ab252b78fba7a0a6f3 * add Accumulator * add location * Squashed 'interfaces/' changes from df31e1146..472584639 472584639 Merge remote-tracking branch 'origin/master' into stream dd6a42724 Refactor of consensus interface (#28) git-subtree-dir: interfaces git-subtree-split: 472584639f637189dfb906ef1ed03665f98d55d2 * Fix compilation in cons * Pass accumulator to Execution stage * Fix test * Pass accumulator to unwind and plain writer * Add accumulator use to plain writer * Squashed 'interfaces/' changes from 472584639f..5c36f038b8 5c36f038b8 State change stream to KV (#38) REVERT: 472584639f Merge remote-tracking branch 'origin/master' into stream REVERT: df31e1146c remove action from storage change REVERT: 014677ffe5 Merge remote-tracking branch 'origin/master' into stream REVERT: e06631eb4d Fix REVERT: 9c10d79d2d Fix REVERT: 61ae9307de Fix REVERT: 4fcf34ecc5 State change stream to KV git-subtree-dir: interfaces git-subtree-split: 5c36f038b87096ffb6b07e90c6762c21b864cd3b * Add state.stream flag Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local> |
||
---|---|---|
.. | ||
commands | ||
main.go | ||
Readme.md |
Integration - tool to run TurboGeth stages in custom way: run/reset single stage, run all stages but reorg every X blocks, etc...
Examples
All commands require parameter --datadir=<datadir>
- I will skip it for readability.
integration --help
integration print_stages
# Run single stage
integration stage_senders
integration stage_exec
integration stage_exec --block=1_000_000 # stop at 1M block
integration stage_hash_state
integration stage_trie
integration stage_history
integration stage_tx_lookup
# Unwind single stage 10 blocks backward
integration stage_exec --unwind=10
# Drop data of single stage
integration stage_exec --reset
integration stage_history --reset
...
# hack which allows to force clear unwind stack of all stages
clear_unwind_stack
For testing run all stages in "N blocks forward M blocks re-org" loop
Pre-requirements of state_stages
command:
- Headers/Bodies must be downloaded
- TxSenders stage must be executed
make all
./build/bin/integration state_stages --datadir=<datadir> --unwind=10 --unwind.every=20 --pprof
integration reset_state # drops all stages after Senders stage (including it's db tables DB tables)
For example:
--unwind=1 --unwind.every=10 # 10 blocks forward, 1 block back, 10 blocks forward, ...
--unwind=10 --unwind.every=1 # 1 block forward, 10 blocks back, 1 blocks forward, ...
--unwind=10 # 10 blocks back, then stop
--integrity.fast=false --integrity.slow=false # it performs DB integrity checks each step. You can disable slow or fast checks.
--block # stop at exact blocks
--chaindata.reference # When finish all cycles, does comparison to this db file.
"Wrong trie root" problem - temporary solution
make all
./build/bin/integration stage_hash_state --datadir=<datadir> --reset
./build/bin/integration stage_trie --datadir=<datadir> --reset
# Then run TurobGeth as usually. It will take 2-3 hours to re-calculate dropped db tables