An implementation of the ChainStore trait backed by a simple key-value store.

怎么存,由 DB 处理;

我们关心的是“存什么数据”。

grin_chain store

业务封装,与具体数据库无关,相当于 ORM

The full state of a Grin chain consists of all the following data:

  1. The full unspent output (UTXO) set.
  2. The range proof for each output.
  3. All the transaction kernels.
  4. A MMR for each of the above (with the exception that the output MMR includes hashes for _all _outputs, not only the unspent ones).

Rust wrapper for CRoaring

A better compressed bitset

Roaring bitmaps are compressed bitmaps. They can be hundreds of times faster.

带有完全支持编译器( GNU,llvm,Visual Studio )的( 还有 C++ ) 中的便携式Roaring位图。

Bitsets,也称为位图,通常用作快速数据结构。

rust wrapper for rocksdb

具体使用数据库。

RocksDB is an embeddable persistent key-value store for fast storage.

其它:PMMR,是 Prunable Merkle Mountain Range 的缩写形式。

存储以下数据

The grin blockchain includes the following types of data:

  1. Transaction outputs, which include for each output:
    1. A Pedersen commitment (33 bytes).
    2. A range proof (over 5KB at this time).
  2. Transaction inputs, which are just output references (32 bytes).
  3. Transaction "proofs", which include for each transaction:
    1. The excess commitment sum for the transaction (33 bytes).
    2. A signature generated with the excess (71 bytes average).
  4. A block header includes Merkle trees and proof of work (about 250 bytes).

results matching ""

    No results matching ""