py-evm icon indicating copy to clipboard operation
py-evm copied to clipboard

Create scripts/gethimport.py

Open lithp opened this issue 6 years ago • 0 comments

What was wrong?

Nothing was wrong, per say, but it wasn't previously possible to get a full-syncing trinity node this far:

Selection_048

How was it fixed?

I wrote a script with a few helpful subcommands which can be used to create a trinity database, bootstrapping off an already-synced geth node.

To-Do

  • [x] Why is the build failing while building snappy? (needed for decoding ancient blocks)
  • [x] Appease lint and such
  • [ ] Break into multiple PRs
  • [ ] Remove the code which iterates over the state trie? It's too slow to be practical except for very early blocks.
  • [ ] Support simulating a full sync, starting from genesis, by also importing the genesis state when creating a trinity database. This depends on moving the EIP1085 code over from trinity -> py-evm, so it probably doesn't belong in this PR.
  • [ ] Figure out how to test any of this without committing large example geth databases to the repo.
  • [ ] Clean up commit history
  • [ ] Add entry to the release notes
  • [x] Find a cute animal pic
  • [x] Add a command to compact the database. If the database is not compacted it will compact itself, freezing your process for an uncomfortably long amount of time.
  • [ ] Document how to use this script to build a trinity database to reproduce the above screenshot
  • [x] Remove import_block_flame.svg
  • [x] Apply some bug fixes I made on my server, but not locally.
  • [x] Rebase onto #1891
  • [ ] Make sure this is modular enough that a wrapper script in trinity could call it

Cute Animal Picture

A hermit crab swapping out shells:

hermit-crab-swap

lithp avatar Dec 05 '19 02:12 lithp