# Functions
AddCodeToFetch adds a marker that we need to fetch the code for [hash].
ClearAllSyncSegments removes all segment markers from db.
ClearAllSyncStorageTries removes all storage tries added for syncing from db.
ClearPrefix removes all keys in db that begin with prefix.
ClearSegment removes segment markers for root from db.
ClearSyncStorageTrie removes all storage trie accounts (with the given root) from db.
DeleteAccountSnapshot removes the snapshot entry of an account trie leaf.
DeleteBlock removes all block data associated with a hash.
DeleteBlockWithoutNumber removes all block data associated with a hash, except the hash to number mapping.
DeleteBloombits removes all compressed bloom bits vector belonging to the given section range and bit index.
DeleteBody removes all block body data associated with a hash.
DeleteCanonicalHash removes the number to hash canonical mapping.
DeleteCode deletes the specified contract code from the database.
DeleteCodeToFetch removes the marker that the code corresponding to [hash] needs to be fetched.
DeleteHeader removes all block header data associated with a hash.
DeleteHeaderNumber removes hash->number mapping.
DeleteOfflinePruning deletes any marker of the last attempt to run offline pruning.
DeletePopulateMissingTries deletes any marker of the last attempt to re-populate missing trie nodes.
DeletePruningDisabled deletes the marker indicating that the node has run with pruning disabled.
DeleteReceipts removes all receipt data associated with a block hash.
DeleteSnapshotBlockHash deletes the hash of the block whose state is contained in the persisted snapshot.
DeleteSnapshotRoot deletes the root of the block whose state is contained in the persisted snapshot.
DeleteStorageSnapshot removes the snapshot entry of an storage trie leaf.
DeleteTimeMarker deletes any value stored at [key].
DeleteTrieNode deletes the specified trie node from the database.
DeleteTxLookupEntries removes all transaction lookups for a given block.
DeleteTxLookupEntry removes all transaction data associated with a hash.
FindCommonAncestor returns the last common ancestor of two block headers.
HasBody verifies the existence of a block body corresponding to the hash.
HasCode checks if the contract code corresponding to the provided code hash is present in the db.
HasHeader verifies the existence of a block header corresponding to the hash.
HasPruningDisabled returns true if there is a marker present indicating that the node has run with pruning disabled at some pooint.
HasReceipts verifies the existence of all the transaction receipts belonging to a block.
HasTrieNode checks if the trie node with the provided hash is present in db.
InspectDatabase traverses the entire database and checks the size of all different categories of data.
IsCodeKey reports whether the given byte slice is the key of contract code, if so return the raw code hash as well.
IterateAccountSnapshots returns an iterator for walking all of the accounts in the snapshot.
IterateStorageSnapshots returns an iterator for walking the entire storage space of a specific account.
NewCodeToFetchIterator returns a KeyLength iterator over all code hashes that are pending syncing.
NewDatabase creates a high level database on top of a given key-value data store without a freezer moving immutable chain segments into cold storage.
NewKeyLengthIterator returns a wrapped version of the iterator that will only return key-value pairs where keys with a specific key length will be returned.
NewLevelDBDatabase creates a persistent key-value database without a freezer moving immutable chain segments into cold storage.
NewMemoryDatabase creates an ephemeral in-memory key-value database without a freezer moving immutable chain segments into cold storage.
NewMemoryDatabaseWithCap creates an ephemeral in-memory key-value database with an initial starting capacity, but without a freezer moving immutable chain segments into cold storage.
NewSyncPerformedIterator returns an iterator over all block numbers the VM has state synced to.
NewSyncSegmentsIterator returns a KeyLength iterator over all trie segments added for root.
NewSyncStorageTriesIterator returns a KeyLength iterator over all storage tries added for syncing (beginning at seek).
NewTable returns a database object that prefixes all keys with a given string.
PopUncleanShutdownMarker removes the last unclean shutdown marker.
PushUncleanShutdownMarker appends a new unclean shutdown marker and returns the previous data - a list of timestamps - a count of how many old unclean-shutdowns have been discarded.
ReadAcceptorTip reads the hash of the last accepted block that was fully processed.
ReadAccountSnapshot retrieves the snapshot entry of an account trie leaf.
ReadAllCanonicalHashes retrieves all canonical number and hash mappings at the certain chain range.
ReadAllHashes retrieves all the hashes assigned to blocks at a certain heights, both canonical and reorged forks included.
ReadAllHashesInRange retrieves all the hashes assigned to blocks at a certain heights, both canonical and reorged forks included.
ReadBlock retrieves an entire block corresponding to the hash, assembling it back from the stored header and body.
ReadBloomBits retrieves the compressed bloom bit vector belonging to the given section and bit index from the.
ReadBody retrieves the block body corresponding to the hash.
ReadBodyRLP retrieves the block body (transactions and uncles) in RLP encoding.
ReadCanonicalBodyRLP retrieves the block body (transactions and uncles) for the canonical block at number, in RLP encoding.
ReadCanonicalHash retrieves the hash assigned to a canonical block number.
ReadChainConfig retrieves the consensus settings based on the given genesis hash.
ReadCode retrieves the contract code of the provided code hash.
ReadDatabaseVersion retrieves the version number of the database.
ReadHeadBlock returns the current canonical head block.
ReadHeadBlockHash retrieves the hash of the current canonical head block.
ReadHeader retrieves the block header corresponding to the hash.
ReadHeaderNumber returns the header number assigned to a hash.
ReadHeaderRLP retrieves a block header in its raw RLP database encoding.
ReadHeadHeaderHash retrieves the hash of the current canonical head header.
ReadLogs retrieves the logs for all transactions in a block.
ReadOfflinePruning reads the most recent timestamp of an attempt to run offline pruning if present.
ReadPopulateMissingTries reads the most recent timestamp of an attempt to re-populate missing trie nodes.
ReadPreimage retrieves a single preimage of the provided hash.
ReadRawReceipts retrieves all the transaction receipts belonging to a block.
ReadReceipt retrieves a specific transaction receipt from the database, along with its added positional metadata.
ReadReceipts retrieves all the transaction receipts belonging to a block, including its corresponding metadata fields.
ReadReceiptsRLP retrieves all the transaction receipts belonging to a block in RLP encoding.
ReadSnapshotBlockHash retrieves the hash of the block whose state is contained in the persisted snapshot.
ReadSnapshotGenerator retrieves the serialized snapshot generator saved at the last shutdown.
ReadSnapshotRoot retrieves the root of the block whose state is contained in the persisted snapshot.
ReadStorageSnapshot retrieves the snapshot entry of an storage trie leaf.
ReadSyncRoot reads the root corresponding to the main trie of an in-progress sync and returns common.Hash{} if no in-progress sync was found.
ReadTimeMarker reads the timestamp stored at [key].
ReadTransaction retrieves a specific transaction from the database, along with its added positional metadata.
ReadTrieNode retrieves the trie node of the provided hash.
ReadTxIndexTail retrieves the number of oldest indexed block whose transaction indices has been indexed.
ReadTxLookupEntry retrieves the positional metadata associated with a transaction hash to allow retrieving the transaction or receipt by hash.
UnindexTransactions removes txlookup indices of the specified block range.
UnpackSyncPerformedKey returns the block number from keys the iterator returned from NewSyncPerformedIterator.
UnpackSyncSegmentKey returns the root and start position for a trie segment key returned from NewSyncSegmentsIterator.
UnpackSyncStorageTrieKey returns the root and account for a storage trie key returned from NewSyncStorageTriesIterator.
UpdateUncleanShutdownMarker updates the last marker's timestamp to now.
WriteAcceptorTip writes [hash] as the last accepted block that has been fully processed.
WriteAccountSnapshot stores the snapshot entry of an account trie leaf.
WriteBlock serializes a block into the database, header and body separately.
WriteBloomBits stores the compressed bloom bits vector belonging to the given section and bit index.
WriteBody stores a block body into the database.
WriteBodyRLP stores an RLP encoded block body into the database.
WriteCanonicalHash stores the hash assigned to a canonical block number.
WriteChainConfig writes the chain config settings to the database.
WriteCode writes the provided contract code database.
WriteDatabaseVersion stores the version number of the database.
WriteHeadBlockHash stores the head block's hash.
WriteHeader stores a block header into the database and also stores the hash- to-number mapping.
WriteHeaderNumber stores the hash->number mapping.
WriteHeadHeaderHash stores the hash of the current canonical head header.
WriteOfflinePruning writes a marker of the last attempt to run offline pruning The marker is written when offline pruning completes and is deleted when the node is started successfully with offline pruning disabled.
WritePopulateMissingTries writes a marker for the current attempt to populate missing tries.
WritePreimages writes the provided set of preimages to the database.
WritePruningDisabled writes a marker to track whether the node has ever run with pruning disabled.
WriteReceipts stores all the transaction receipts belonging to a block.
WriteSnapshotRoot stores the root of the block whose state is contained in the persisted snapshot.
WriteSnapshotGenerator stores the serialized snapshot generator to save at shutdown.
WriteSnapshotRoot stores the root of the block whose state is contained in the persisted snapshot.
WriteStorageSnapshot stores the snapshot entry of an storage trie leaf.
WriteSyncPerformed logs an entry in [db] indicating the VM state synced to [blockNumber].
WriteSyncRoot writes root as the root of the main trie of the in-progress sync.
WriteSyncSegment adds a trie segment for root at the given start position.
WriteSyncStorageTrie adds a storage trie for account (with the given root) to be synced.
WriteTimeMarker writes a marker of the current time in the db at [key].
WriteTrieNode writes the provided trie node database.
WriteTxIndexTail stores the number of oldest indexed block into database.
WriteTxLookupEntries is identical to WriteTxLookupEntry, but it works on a list of hashes.
WriteTxLookupEntriesByBlock stores a positional metadata for every transaction from a block, enabling hash based transaction and receipt lookups.
# Variables
BloomBitsIndexPrefix is the data table of a chain indexer to track its progress.
CodePrefix + code hash -> account code.
CodeToFetchPrefix + code hash -> empty value tracks the outstanding code hashes we need to fetch.
SnapshotAccountPrefix + account hash -> account trie value.
SnapshotStoragePrefix + account hash + storage hash -> storage trie value.
# Structs
KeyLengthIterator is a wrapper for a database iterator that ensures only key-value pairs with a specific key length will be returned.
LegacyTxLookupEntry is the legacy TxLookupEntry definition with some unnecessary fields.
No description provided by the author