You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

1.3 KiB

Index Schema

The index is stored at a single RocksDB database using the following schema:

Transaction outputs' index

Allows efficiently finding all funding transactions for a specific address:

Code Script Hash Prefix Funding TxID Prefix
b'O' SHA256(script)[:8] txid[:8]

Transaction inputs' index

Allows efficiently finding spending transaction of a specific output:

Code Funding TxID Prefix Funding Output Index Spending TxID Prefix
b'I' txid[:8] uint16 txid[:8]

Full Transaction IDs

In order to save storage space, we store the full transaction IDs once, and use their 8-byte prefixes for the indexes above.

Code Transaction ID Confirmed height
b'T' txid (32 bytes) uint32

Note that this mapping allows us to use getrawtransaction RPC to retrieve actual transaction data from without -txindex enabled (by explicitly specifying the blockhash).