Can you provide me the detail data dictionary of level db and block data? #12975

issue cyssxt opened this issue on April 13, 2018
  1. cyssxt commented at 7:47 AM on April 13, 2018: none

    <!-- 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!!!!

  2. sipa closed this on Apr 13, 2018

  3. sipa commented at 7:51 AM on April 13, 2018: member

    This is an issue tracker, not a support forum.

    You find answers to questions like this on https://bitcoin.stackexchange.com

  4. cyssxt commented at 7:53 AM on April 13, 2018: none

    @sipa Thanks!

  5. fanquake locked this on Apr 13, 2018
Contributors

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-29 03:15 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me