<!-- This issue tracker is only for technical issues related to Bitcoin Core. This is not a issue ,just a apply! Thanks. <!-- Describe the issue -->
I want to get all transactions of all addresses, but bitcoind client is not support this issue!
So I need to parse all the /blocks/blk????.dat 、/blocks/rev????.dat 、/blocks/index/????.ldb、 /chainstate/???.ldb, but I can't get all data structure from Bitcoin official website!
1、when parse /blocks/index/????.ldb files,where the key startwith 'b', the value always startwith '88' the offical description is : 'b' + 32-byte block hash -> block index record. Each record stores: * The block header * The height. * The number of transactions. * To what extent this block is validated. * In which file, and where in that file, the block data is stored. * In which file, and where in that file, the undo data is stored.
but the source file chain.h is: <pre><code> inline void SerializationOp(Stream& s, Operation ser_action, int nType, int nVersion) { if (!(nType & SER_GETHASH)) READWRITE(VARINT(nVersion)); READWRITE(VARINT(nHeight)); READWRITE(VARINT(nStatus)); READWRITE(VARINT(nTx)); if (nStatus & (BLOCK_HAVE_DATA | BLOCK_HAVE_UNDO)) READWRITE(VARINT(nFile)); if (nStatus & BLOCK_HAVE_DATA) READWRITE(VARINT(nDataPos)); if (nStatus & BLOCK_HAVE_UNDO) READWRITE(VARINT(nUndoPos));
// block header
READWRITE(this->nVersion);
READWRITE(hashPrev);
READWRITE(hashMerkleRoot);
READWRITE(nTime);
READWRITE(nBits);
READWRITE(nNonce);
}
</pre></code> The front field is nVersion, but it is match with the index file(/blocks/index/????.ldb) Also I can not understand the code meaning if (!(nType & SER_GETHASH)) READWRITE(VARINT(nVersion));
2、when i parse blk01116.dat (but the blk00000.dat file is normal!) Substring the hex data:
<pre><code>f9beb4d936b70f0000000020a1769e87973780c18d51facb43ff54a8868884cd2c3656000000000000000000c5bf481f9aaa343adcd197fcfdbc0b55c513b976d1dd7d13dd2acb42f122b4e0ec94415a45960018f1838f04fd4005010000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff5f0330a5070004ec94415a04088de2130ce88c0b5a6fef505a6a3501002cfabe6d6dad1eee02260a202a3490ea2ae2fadf34071df069e68f152eb7e7bc65f7a13813 f9beb4d9 magic 36b70f00 blockNumber 0000000020a1769e87973780c18d51facb43ff54a8868884cd2c3656000000000000000000c5bf481f9aaa343adcd197fcfdbc0b55c513b976d1dd7d13dd2acb42f122b4e0ec94415a45960018f1838f04f block header fd4005 ttradeSize 01000000 transaction version **0101 what's the meaning of this?** 000000000000000000000000000000000000000000000000000000000000000 trade hash ffffffff trade index </pre></code>
<!--- What behavior did you expect? -->
I want to know the detail of local block info。
Thanks!!!!