nimbus-eth1/nimbus
Jordan Hrycaj 0a3bc102eb
Pre functional snap to full sync (#1546)
* Update sync scheduler pool mode

why:
  The pool mode allows to loop over active peers one after another. This
  is ideal for soft re-starting peers. As this is a two tier experience
  (start/stop, setup/release) the loop must be run twice. This is
  controlled by a more rigid re-definition of how to use the `poolMode`
  flag.

* Mitigate RLP serialiser deficiency

why:
  Currently, serialising the `BlockBody` in not conevrtible and need
  to be checked in the `eth` module. Currently a local fix for the
  wire protocol applies. Unit tests will stay (after this local solution
  will have been removed.)

* Code cosmetics and massage

details:
  Main part is `types.toStr()` as a unified function for logging block
  numbers.

* Allow to use a logical genesis replacement (start of history)

why:
  Snap sync will set up an arbitrary pivot at a block number different
  from zero. In fact, the higher the block number the better.

details:
  A non-genesis start of history will currently only affect the score
  values which were derived from the difficulty.

* Provide function to store the snap pivot block header in chain db

why:
  Together with the start of history facility, this allows to proceed
  with full syncing once snap has finished.

details:
  Snap db storage was switched from a sub-tables to the flat chain db.

* Provide database completeness and sanity checker

details:
  For debugging on smaller databases, only

* Implement snap -> full sync switch
2023-04-14 23:28:57 +01:00
..
common Pre functional snap to full sync (#1546) 2023-04-14 23:28:57 +01:00
core Pre functional snap to full sync (#1546) 2023-04-14 23:28:57 +01:00
db Pre functional snap to full sync (#1546) 2023-04-14 23:28:57 +01:00
evm More work on stateless mode (#1535) 2023-04-12 08:39:11 -04:00
graphql bump submodules to further reduce compiler warnings 2023-02-02 09:29:02 +07:00
rpc More work on stateless mode (#1535) 2023-04-12 08:39:11 -04:00
sync Pre functional snap to full sync (#1546) 2023-04-14 23:28:57 +01:00
transaction More work on stateless mode (#1535) 2023-04-12 08:39:11 -04:00
utils refactor touched accounts, selfdestruct, and log 2023-03-21 08:14:06 +07:00
common.nim implement better hardfork management 2022-12-02 13:51:42 +07:00
config.nim More work on stateless mode (#1535) 2023-04-12 08:39:11 -04:00
constants.nim Silence compiler gossip after nim upgrade cont1 (#1455) 2023-01-31 01:32:17 +00:00
errors.nim fix EIP-3860 bugs 2023-01-13 13:04:23 +07:00
launcher.nim
lightchain_shell.nim
makefile Snap sync fix trie interpolation fringe condition (#1457) 2023-02-01 18:56:06 +00:00
nim.cfg
nimbus.nim More work on stateless mode (#1535) 2023-04-12 08:39:11 -04:00
rpc.nim implement better hardfork management 2022-12-02 13:51:42 +07:00
stateless_runner.nim More work on stateless mode (#1535) 2023-04-12 08:39:11 -04:00
tracer.nim Silence compiler gossip after nim upgrade cont3 (#1466) 2023-02-14 20:27:17 +00:00
transaction.nim fix EIP-3860 intrinsic gas once again 2023-01-15 14:37:19 +07:00
version.nim dist: precompiled binaries and Docker images (#1015) 2022-03-27 13:21:15 +02:00
vm_compile_info.nim Prepare snap server client test scenario (#1483) 2023-03-02 09:57:58 +00:00
vm_computation.nim refactor touched accounts, selfdestruct, and log 2023-03-21 08:14:06 +07:00
vm_gas_costs.nim implement better hardfork management 2022-12-02 13:51:42 +07:00
vm_internals.nim refactor touched accounts, selfdestruct, and log 2023-03-21 08:14:06 +07:00
vm_precompiles.nim implement better hardfork management 2022-12-02 13:51:42 +07:00
vm_state.nim More work on stateless mode (#1535) 2023-04-12 08:39:11 -04:00
vm_state_transactions.nim implement better hardfork management 2022-12-02 13:51:42 +07:00
vm_types.nim implement better hardfork management 2022-12-02 13:51:42 +07:00