【问题标题】:polkadot.js: Unable to create Enumpolkadot.js:无法创建枚举
【发布时间】:2021-04-13 09:02:02
【问题描述】:

types.json:

{
  "WorkerId": {
    "_enum": {
      "Single": "Single",
      "Double": "Double"
    }
  },
  "Single": "u8",
  "Double": "(u8, u8)",
}

基板代码:

#[pallet::storage]
#[pallet::getter(fn worker_infos)]
pub type WorkerInfos<T: Config> = StorageMap<_, Twox64Concat, WorkerId, WorkerInfo, ValueQuery>;


pub enum WorkerId {
    Single(u8),
    Double(u8, u8),
}

我想在polkadot.js中通过WorkerId查询worker_infos

    workerIds = [1,2]
    api.query[wrpc][wcallable]
      .multi(workerIds, (results) => {
        ...
      })
      .then((unsub) => {
        ...
      })
      .catch(console.error);

错误信息:

REGISTRY: Error: Unable to create Enum via index 2, in Single, Double

对此有什么想法吗? 如何在 polkadot.js 中传递 workerIds(枚举类型)?

【问题讨论】:

  • 您是否尝试将原始类型直接传递到枚举声明中?可能只是 Polkadot JS 类型生成器中的限制或错误,但很高兴知道直接使用类型是否有效。

标签: substrate polkadot polkadot-js


【解决方案1】:

{ Single: 1 } 或 { Double: [2, 3] }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多