Geth StateDB that works ontop of ipld-eth-db, leveraging its unique indexes
Go to file
2023-03-01 22:36:17 -06:00
.gitignore init commit 2023-02-22 18:57:42 -06:00
access_list.go port over required internal geth packages 2023-02-23 16:10:34 -06:00
config.go fix pgx dep; go.mod 2023-03-01 14:06:40 -06:00
database.go fix pgx dep; go.mod 2023-03-01 14:06:40 -06:00
go.mod fix pgx dep; go.mod 2023-03-01 14:06:40 -06:00
go.sum fix pgx dep; go.mod 2023-03-01 14:06:40 -06:00
journal.go remove snapshot usage and unused internal methods; note this is different than the journaling used to simulate state transitions 2023-02-28 12:08:06 -06:00
README.md update readme 2023-03-01 22:36:17 -06:00
sql.go fix: need to pass block_hash to StateObject and Database 2023-02-28 12:08:06 -06:00
state_object.go update readme 2023-03-01 22:36:17 -06:00
statedb.go fix pgx dep; go.mod 2023-03-01 14:06:40 -06:00

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.