* Implement disk serialization for block headers and transactions * Re-order column family initialization to match the design * Add new empty transaction column families * Split writing block header and transaction data * Re-order column families for consistency * Update write snapshots for transaction split * Use split block and transaction data when reading * Update snapshots to include genesis transaction hash location * Filter all prefix iterators to make sure they return the correct values * Test that the new transaction indexes are consistent * Add some cleanup TODOs * Increment the database format to version 15 * Remove unused fisk format impls for Block * Add a missing prefix extractor for transaction locations * Make the database generic over the thread mode * Replace prefix iteration with iteration from a key, and a filter Prefix iteration caused database hangs. * Manually iterate through transaction locations to re-create blocks Also: - re-write disk read API to avoid iterator hangs - move disk read API to ReadDisk - re-write impl rocksdb::AsColumnFamilyRef to a where clause, for consistency * Update the database version so it's larger than the NU5 testnet 2 version |
||
|---|---|---|
| .. | ||
| service | ||
| tests | ||
| arbitrary.rs | ||
| config.rs | ||
| constants.rs | ||
| error.rs | ||
| lib.rs | ||
| request.rs | ||
| response.rs | ||
| service.rs | ||
| tests.rs | ||
| util.rs | ||