首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Polkadot选项卡中,如何编码锈菌元组?

在Polkadot选项卡中,如何编码锈菌元组?
EN

Stack Overflow用户
提问于 2019-10-14 13:51:38
回答 1查看 273关注 0票数 2

包括运行时模块中声明的自定义锈蚀类型的示例有几个,可以应用Polkadot接口这里。然而,我不知道如何编码元组。对于那些计划在代码和运行时API中使用元组用于polkadot-js的人来说,情况也是如此。

下面是在基板运行时模块中声明它的方式:

代码语言:javascript
复制
// tuple (struct)
pub type Code = u16;
pub type Type = u16;
pub struct Tuple(Code, Type);

// Complex struct using tuple
pub struct Record<T::AccountId,Tuple> {
    pub address: T::AccountId,
    pub tuple_values: Tuple,
}

// Storage
Record get(record):
        map T::AccountId => Option<Record<T::AccountId,Tuple>>;

我假设我会在Polkadot设置的Developer选项卡中添加类似的内容,但我不知道这是否是正确的语法。

代码语言:javascript
复制
{
    "Code": "u16",
    "Type": "u16",
    "Tuple": ["Code", "Type"],
    "Record": {
        "address": "AccountId",
        "tuple_values": "Tuple"
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-14 17:34:12

元组、元组结构和命名结构都是以相同的方式编码的。来自https://docs.substrate.io/v3/advanced/scale-codec#tuples 

Tuples一个固定大小的值系列,每个值都有可能不同但预先确定的固定类型.这只是每个编码值的级联。 … 对于结构来说,值是命名的,但这与编码无关(名称只被忽略--只是顺序问题)。

所以在你的例子中,像这样的东西会起作用的:

代码语言:javascript
复制
{
    "Code": "u16",
    "Type": "u16",
    "Tuple": {
        "bogus_name_1": "Code",
        "bogus_name_2": "Type"
    },
    "Record": {
        "address": "AccountId",
        "tuple_values": "Tuple"
    }
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58378261

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档