2

在 polkadot-js 中已经为开发者提供了在托盘中定义自定义类型,以便 polkadot-ui 可以理解这些类型(意味着可以使用一些底层 API polkadot-js)。这些类型是使用 json 格式定义的。这是示例

{
  "TransactionInput": {
    "parent_output": "Hash",
    "signature": "Signature"
  },
  "TransactionOutput": {
    "value": "u128",
    "pubkey": "Hash",
    "sale": "u32"
  },
  "Transaction": {
    "inputs": "Vec<TransactionInput>",
    "outputs": "Vec<TransactionOutput>"
  }
}

我看到在substrate-node-template/scripts中有aggregrate_types.js文件生成types.json。我不知道如何自动生成它,或者我应该手写。例如,在我的托盘中,我定义了enum RoleIDstruct Role。但是在 UI 中它不明白 RoleID 是什么。你能解释得更清楚吗?我相信它可以与定义types.json有关。 https://github.com/polkadot-js/apps/blob/master/packages/page-settings/src/md/basics.md#developer在此处输入图像描述

聚合类型.json: 在此处输入图像描述

谢谢!!!

4

2 回答 2

1

目前,手动生成它是遵循此处文档的最佳方式。据我所知,没有干净的方法可以自动生成它,但是一旦这个 PR 登陆Substrate ,你很快就不需要担心它了!

于 2021-07-22T17:00:38.750 回答
0

感谢https://github.com/paritytech/substrate/pull/8615,您不必再手动编写types.json了。

确保您的节点的元数据版本是 v14 或更高版本。否则,您需要升级您的基板版本以使其自动为您工作。

于 2022-01-02T16:14:05.147 回答