Tool for inserting the entire state and storage tries into PG-IPFS
Go to file
2022-05-13 09:28:36 +05:30
cmd add some logs and guards, update module name, update readme 2022-03-30 18:57:30 -05:00
db/migrations remove diff unique constraint 2020-08-06 14:33:02 -05:00
environments add some logs and guards, update module name, update readme 2022-03-30 18:57:30 -05:00
fixture add some logs and guards, update module name, update readme 2022-03-30 18:57:30 -05:00
pkg Change ON CONFLICT clauses to do nothing and upgrade geth 2022-05-13 09:28:36 +05:30
test implement job recovery; fix traversal & iterator 2022-03-03 17:12:29 +08:00
.gitignore add some logs and guards, update module name, update readme 2022-03-30 18:57:30 -05:00
go.mod Change ON CONFLICT clauses to do nothing and upgrade geth 2022-05-13 09:28:36 +05:30
go.sum Change ON CONFLICT clauses to do nothing and upgrade geth 2022-05-13 09:28:36 +05:30
LICENSE cobra init 2020-06-30 11:53:18 -05:00
main.go add some logs and guards, update module name, update readme 2022-03-30 18:57:30 -05:00
Makefile create csv file publisher; update geth and schema 2022-02-14 07:22:31 +08:00
README.md add some logs and guards, update module name, update readme 2022-03-30 18:57:30 -05:00

ipld-eth-state-snapshot

Tool for extracting the entire Ethereum state at a particular block height from leveldb into Postgres-backed IPFS

Go Report Card

Usage

./ipld-eth-state-snapshot stateSnapshot --config={path to toml config file}

Config

Config format:

[snapshot]
    mode = "file" # indicates output mode ("postgres" or "file")
    workers = 4 # degree of concurrency, the state trie is subdivided into sectiosn that are traversed and processed concurrently
    blockHeight = -1 # blockheight to perform the snapshot at (-1 indicates to use the latest blockheight found in leveldb)
    recoveryFile = "recovery_file" # specifies a file to output recovery information on error or premature closure

[leveldb]
    path = "/Users/user/Library/Ethereum/geth/chaindata" # path to geth leveldb
    ancient = "/Users/user/Library/Ethereum/geth/chaindata/ancient" # path to geth ancient database

[database]
    name     = "vulcanize_public" # postgres database name
    hostname = "localhost" # postgres host
    port     = 5432 # postgres port
    user     = "postgres" # postgres user
    password = "" # postgres password

[file]
    outputDir = "output_dir/" # when operating in 'file' output mode, this is the directory the files are written to