3

在 Substrate 生态系统中,通常通过分叉Substrate 节点模板来开始编写新的区块链节点。用户界面(例如Appsfront-end-template)有几个选项,它们都基于相同的底层Polkadot-JS API

某些版本的 API 可以在没有任何自定义配置的情况下与某些版本的节点模板一起使用,但通常必须为 API 提供有关节点使用的类型的信息。提供类型的过程记录在https://polkadot.js.org/api/start/types.extend.html#impact-on-extrinsics我需要提供哪些类型

4

1 回答 1

6

2020 年 3 月 10 日,这里的 Substrate 节点模板引入了类型不兼容的更改。我将使用术语“旧”和“新”来指代此日期之前和之后。

直接使用 API

如果您使用带有 polkadot-js API 的新节点模板,则需要使用此处记录的以下类型

{
  "Address": "AccountId",
  "LookupSource": "AccountId"
}

使用前端包

问题中提到的前端都已更新,以简化用户的生活。Apps UI here和 front-end-template here。但是,如果您尝试将旧的节点模板与新的前端一起使用,反之亦然,您将需要进行一些自定义类型注入。

老节点模板,老前端

无需自定义类型

新节点模板,新前端

无需自定义类型

旧节点模板,新前端

{
  "Address": "GenericAddress",
  "LookupSource": "Address"
}

新节点模板,旧前端

{
  "Address": "AccountId",
  "LookupSource": "AccountId"
}

如何注入类型

在应用程序中

转到Settings左侧的Developer选项卡和顶部的选项卡。将类型粘贴进去。

在前端模板中

修改此文件https://github.com/substrate-developer-hub/substrate-front-end-template/blob/dff9783e29123f49a19cbc43f5df7ae010c92775/src/config/common.json#L4

于 2020-03-12T19:18:46.480 回答