Skip to content

Reads data from an Ethereum LevelDB directly and reports some state numbers

License

Notifications You must be signed in to change notification settings

jochem-brouwer/ethereum-db-stats

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Usage:

First npm i. Then ts-node cli.ts <database location> <block state root hash>

For example: ts-node cli.ts ~/Library/Ethereum/geth/chaindata/ 0x4fe1cda039a517e6edbd88ffbc00889f4d6ef22534c44695eb278bc375546292

The database location should point to the chaindata of your node which should be a LevelDB database. The state root hash is the state root of a block (this example is block 196610) which will be the root to use to retrieve all data. Note that it should be 0x-prefixed.

When the script is done, it dumps data.json which is of type Result:

type Result = {
    stateRoot: string                               // state root hash of the results of this dump
    accounts: number                                // total number of accounts,
    eoaAccounts: number                             // total number of EOA accounts (where codeHash / storageHash is the default "empty" value)
    codeHashMap: StringMap                          // map of codehash to number of accounts having this codehash 
    storageHashMap: StringMap                       // map of storageHash to number of accounts having this hash 
    storageHashKeyCount: StringMap                  // map of storageHash to number of keys of this particular storage hash
}

About

Reads data from an Ethereum LevelDB directly and reports some state numbers

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published