在基材的decl_storage宏中,将Y的特征X表示为Z意味着什么?

时间:2019-05-18 15:33:04

标签: rust substrate

as Indicesfollowing Substrate storage definition中是什么意思?

decl_storage! {
    trait Store for Module<T: Trait> as Indices { ... }
}

我已经阅读了文档中的高级特性部分,但是trait关键字的语法没有考虑任何标记为as的选项。

1 个答案:

答案 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用户界面中:

enter image description here

您在此处选择的名称与您希望存储名称在外部显示的方式无关。