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

如何在Polkadot.js Apps中配置Substrate带关联值的枚举类型

解决Polkadot.js中带关联值的Substrate枚举配置问题

你的问题核心在于:你定义的PoolId是带关联数据的枚举变体(TX(ItemId)里的ItemId本质是u8类型),而你之前用的数组式_enum配置只适用于无关联数据的简单枚举,所以无法正确解析该类型。

正确的JSON配置方式

你需要使用对象格式的_enum配置,把每个枚举变体和它对应的关联数据类型绑定起来,具体配置如下:

{
  "PoolId": {
    "_enum": {
      "TX": "u8"
    }
  }
}

配置细节说明

  • 外层的PoolId对应你Substrate代码里的枚举类型名
  • _enum对象里的键是枚举变体的名称("TX"),值是该变体关联的数据类型(这里ItemId被定义为u8,所以直接写"u8")
  • 如果后续你的枚举新增其他带关联值的变体,比如:
    pub enum PoolId {
        TX(ItemId),
        Stake(u32),
    }
    
    对应的配置可以直接扩展为:
    {
      "PoolId": {
        "_enum": {
          "TX": "u8",
          "Stake": "u32"
        }
      }
    }
    

使用提示

把这个配置粘贴到Polkadot.js Apps的Settings > Developer页面的「Additional types」输入框中,保存后就能正确解析PoolId类型的数据了。

内容的提问来源于stack exchange,提问作者dev-for-fun

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 12:49:07