5

根据此处的示例,我看到可以使用srml_support::storage::childAPI 从任意数据中创建一个 merkle 子树。但是我们如何使用它来获得 merkle 根或特定叶子的证明呢?我看到API没有提供任何这样命名的函数。

4

2 回答 2

4

srml_support::storage::childAPI 使用API sr_io

sr_io提供更多功能,例如sr_io::child_storage_root这是您正在寻找的功能。

于 2019-07-26T11:55:49.817 回答
2

另一种方法是直接查询包含根的父 trie 节点。对于链接的示例,它将是这样的(child_storage_root 正在计算正在进行的更改,而直接查询根获取块处理开始时的状态或最新存储的状态计算):

let id = Self::id_from_index(index);
let child_root = storage::unhashed::get_raw(id.as_ref());
于 2019-07-26T12:03:54.870 回答