Open DenisCarriere opened 1 day ago
Compared the extra data requirements for that additional prevout
field using verbose=3
when fetching getblock
, we're only talking about +5% size increase
15MB (verbose 2) vs. 16MB (verbose 3)
$ bitcoin-cli getblock 0000000000000000000221ce7e43028c690783a79d19c16f16482a3dad2f741b 2
$ bitcoin-cli getblock 0000000000000000000221ce7e43028c690783a79d19c16f16482a3dad2f741b 3
$ du -h getblock/bitcoin-800007-block*
15M getblock/bitcoin-800007-block-verbose=2.json
16M getblock/bitcoin-800007-block-verbose=3.json
Using Substreams file Parquet sink (with snappy compression) (6.4MB) uncompressed was ~11MB
$ du -h ./out/**/0000800007-0000800008.parquet
8.0K ./out/blocks/0000800007-0000800008.parquet
2.3M ./out/inputs/0000800007-0000800008.parquet
1.3M ./out/outputs/0000800007-0000800008.parquet
2.8M ./out/transactions/0000800007-0000800008.parquet
Issue
Attempting to extract additional information from
vin
(inputs) which is present inprevout
.Bitcoin RPC poller
Currently uses
GetBlockVerbose
, perhapsGetBlockVerboseTx
or rawgetblock
request with verbose=3https://github.com/streamingfast/firehose-bitcoin/blob/8bde96ed22fcfc5a23a7bd5228d5be120213cc90/fetch/poller.go#L129
Context
When using the
bitcoin-cli
withverbosity=3
you can get full detailed transactions of inputsgetblock
800007 using verbose=3