as Indices
在following Substrate storage definition中是什么意思?
decl_storage! {
trait Store for Module<T: Trait> as Indices { ... }
}
我已经阅读了文档中的高级特性部分,但是trait
关键字的语法没有考虑任何标记为as
的选项。
答案 0 :(得分:0)
第trait Store for Module<T: Trait> as NAME
行是宏观魔术。所写的那行不是有效的Rust,但是会通过decl_storage!
宏将其转换为有效的Rust代码。
最终,as Indices
使得Substrate在此存储项目的Substrate元数据中生成了用户友好的别名(Indices
)。
例如,您可以使用以下名称命名存储空间:
decl_storage! {
trait Store for Module<T: Trait> as KittyStorage {
Value: map T::AccountId => u64;
}
}
它会以如下方式出现在Polkadot用户界面中:
您在此处选择的名称与您希望存储名称在外部显示的方式无关。