by _unwriter

Meta breaks many rules of BitDB.

In fact, it completely deviates away from BitDB’s transaction object schema. Here’s what each object looks like:


Yet it’s still a BitDB. You can use the same Bitquery to query Meta, just like you would in any other BitDB.

Another notable point: Meta is the first BitDB to crawl all the way from the Genesis block, which means you can query the entirety of the blockchain’s metadata set, instead of from a certain block height (Currently the Genesisand Babel nodes start crawling from height 525470, and the Chronos node doesn’t even have this concept, it has a 24 hour sliding window policy of ephemerality)


Here are the highlights:

  1. Completeness: Crawls all the way from the Genesis Block
  2. No Transactions. Just Block Metadata: Meta is literally a database of block metadata. Instead of each entry being a Bitcoin transaction, Meta entries are block metadata for each block. If you’re looking for a database for querying transactions, use Genesis (Transaction full node)Babel (Data only light node), or Chronos (Time indexed ephemeral node)
  3. Extremely Lean: Because it ONLY stores the block metadata, the whole database sits merely at around 1.2GB, which means this will fit into memory on any modern computer, it will run fast even on any low grade computer.
  4. Virtual Attribute: Just like Chronos, Meta has added a couple of virtual attributes: chainworkdecimal and timeago. The timeago should be obvious. It’s a dynamically computed value derived from the timeattribute. The chainworkdecimal attribute is another dynamic attribute derived at runtime from chainwork. The chainwork attribute is stored in hex format, so it’s useful to have an additional attribute that displays the data in decimal.