Substrate中的存储

非凸科技 发布于 02/08 16:21
阅读 47
收藏 0

Substrate使用简单的Key-Value存储数据,该存储是个数据库(RocksDB)支持的修改过的Merkle树(又称为“trie”)结构更多关于trie的信息,参见:

  • paritytech/trie

  • Patricia-Tree

trie允许有效存储和共享历史区块的状态。trie root可以用来表示trie中的数据。也就是说,两个拥有不同数据的trie将始终具有不同的trie root。因此,两个区块链节点可以通过比较它们的trie root来验证它们是否具有相同的状态。

基于Substrate的链只有一个状态树(State Trie),其根哈希值放置在每个区块头中,用于验证区块链的状态,并为轻量级客户端验证证据提供基础。

Substrate还提供了子状态树(Child Trie),可以在runtime中使用。子trie与主状态trie相同,不同的是,子trie的根作为node节点)被存储并更新,而主状态trie的根是在区块头中。

在Substrate中,可以使用Runtime Storage将数据存储在区块链中。同时通过Substrate的存储API,runtime模块可以容易地这些数据可以从runtime逻辑中访问,并被持久化在区块中。

加载中
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部