- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
上面写着decl_storage!
是一个“程序宏”,用于存储数据以使其在后续 block 中可用。
它表示,如果用户能够设置 key 对,那么我们就不能信任该 key 对,因此我们必须使用加密哈希器(例如 blake2_256)来防止“存储中的其他值受到损害”。
为什么要在 StorageMap
中使用除默认 blake2_256
之外的哈希算法 ($hash
) (即为什么有人会使用 twox
而不是默认的 blake2_256
)?
另外,为什么说它只是为了防止“存储中的其他值受到损害”? blake2_256
不是也用来防止 key 对本身被泄露吗?
最佳答案
blake2_256
哈希器是一种不透明的加密哈希器,它会产生两种成本/有两个缺点:
因此,有一些替代哈希器可以在您关心它们的情况下改进这些哈希器:
twox
哈希器的计算成本很低,因此如果区 block 链控制 StorageMap
的输入,您可以使用它,例如当使用计数器对其进行索引时。blake2_128_concat
哈希器将哈希器的输入连接到哈希的末尾,以允许迭代映射的键(和值)。在更新的 documentation for decl_storage
中查找更多信息
关于hash - 使用 decl_storage 时,为什么在 StorageMap 中使用 blake2_256 以外的哈希算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56236827/
在substrate中实现runtime模块时,给定以下存储 decl_storage! { trait Store for Module as CatAuction { Kitties
它说decl_storage!是一个“过程宏”,用于存储数据以使其在后续 block 中可用。 在该链接中有一句话说基本存储由名称 和类型 组成。然后显示不同的支持类型,包括最基本的支持类型,它只包含
上面写着decl_storage!是一个“程序宏”,用于存储数据以使其在后续 block 中可用。 它表示,如果用户能够设置 key 对,那么我们就不能信任该 key 对,因此我们必须使用加密哈希器(
as Indices 在 following Substrate storage definition 中是什么意思? decl_storage! { trait Store for Modu
decl_storage!是一个“过程宏”,用于存储数据以使其在后续 block 中可用。 它说如果用户能够在 double_map 中设置第一个 key 对,那么我们就不能信任那个 key 对,所以
我是一名优秀的程序员,十分优秀!