Geth StateDB that works ontop of ipld-eth-db, leveraging its unique indexes
|
|
||
|---|---|---|
| internal | ||
| .gitignore | ||
| access_list.go | ||
| config.go | ||
| database.go | ||
| go.mod | ||
| go.sum | ||
| interfaces.go | ||
| journal.go | ||
| pgx.go | ||
| README.md | ||
| sql.go | ||
| sqlx.go | ||
| state_database.go | ||
| state_object.go | ||
| statedb_test.go | ||
| statedb.go | ||
ipld-eth-statedb
Implementation of the geth vm.StateDB on top of ipld-eth-db, to allow us to plug into existing EVM functionality. Analogous to ipfs-ethdb but at one database abstraction level higher. This allows us to bypass the trie-traversal access pattern normally used by the EVM (and which ipfs-ethdb allows us to replicate ontop of our Postgres IPLD blockstore in the "public.blocks" table) and access state and storage directly in the "state_cids" and "storage_cids" tables.
Note: "IPFS" is chosen in the name of "ipfs-ethdb" as it can function through an IPFS BlockService abstraction or directly ontop of an IPLD blockstore, whereas this repository is very tightly coupled to the schema in ipld-eth-db.