go-ethereum/core/rawdb
Matthew Halpern 937417527c core: lookup txs by block number instead of block hash (#19431)
* core: lookup txs by block number instead of block hash

Transaction hashes now store a reference to their corresponding
block number as opposed to their hash. In benchmarks this was
shown to reduce storage by over 12 GB.

The main limitation of this approach is that transactions on
non-canonical blocks could never be looked up, however that is
currently not supported.

The database version has been upgraded to version 5 and the
transaction lookup process is backwards-compatible with the
prior two transaction lookup formats prexisting in the
database instance. Tests have been added to ensure this.

* core/rawdb: tiny review nit fixes
2019-04-25 17:24:55 +03:00
..
accessors_chain_test.go core, eth, les, light: scope receipt functionality a bit cleaner 2019-04-15 13:42:26 +03:00
accessors_chain.go core, eth, les, light: scope receipt functionality a bit cleaner 2019-04-15 13:42:26 +03:00
accessors_indexes_test.go core: lookup txs by block number instead of block hash (#19431) 2019-04-25 17:24:55 +03:00
accessors_indexes.go core: lookup txs by block number instead of block hash (#19431) 2019-04-25 17:24:55 +03:00
accessors_metadata.go all: clean up and proerly abstract database access 2019-03-06 13:35:03 +02:00
database.go all: clean up and proerly abstract database access 2019-03-06 13:35:03 +02:00
schema.go all: clean up and proerly abstract database access 2019-03-06 13:35:03 +02:00
table.go core, ethdb, trie: mode dirty data to clean cache on flush (#19307) 2019-03-26 15:48:31 +01:00