You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Substrate中Twox128(Prefix::pallet_prefix())++Twox128(Prefix::STORAGE_PREFIX)存储含义是什么

StorageValue 存储路径规则解析

官方定义:
pub struct StorageValue<Prefix, Value, QueryKind = OptionQuery, OnEmpty = GetDefault>(_);
该类型用于存储单个值,每个值的存储路径为 Twox128(Prefix::pallet_prefix()) ++ Twox128(Prefix::STORAGE_PREFIX)

这段路径描述是Substrate框架计算链上存储键的标准规则,各部分含义如下:

  • Twox128:Substrate默认选用的非加密哈希算法,输出固定128位(即16字节)的哈希值,兼顾了计算效率和防碰撞能力,专门用于生成存储项的键前缀。
  • Prefix::pallet_prefix():存储项所属Pallet(Substrate的功能模块)的唯一标识前缀,默认是Pallet的名称字符串,比如治理模块的前缀就是"Democracy"。
  • Prefix::STORAGE_PREFIX:当前StorageValue存储项自身的名称字符串,比如你定义的存总发行量的存储项叫TotalSupply,这里的取值就是"TotalSupply"。
  • ++:字节拼接操作,指将前一个Twox128输出的16字节值和后一个Twox128输出的16字节值直接拼接,最终得到32字节的完整存储键,就是该StorageValue在链下KV数据库中对应的查询Key。

这种设计的核心作用是实现存储项的命名空间隔离:第一层哈希区分不同Pallet,第二层哈希区分同一Pallet内的不同存储项,从规则上彻底避免不同存储项的键冲突,同时固定长度的32字节键也更利于底层数据库做查询优化。

内容的提问来源于stack exchange,提问作者dodo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 14:24:01