边缘软件节点类型
使用量
此 repo 包含自定义边缘软件- 节点模块的 Typescript 绑定 .
要对 Edgeware 使用标准 API, 您必须初始化 API 的选项对象如下 :
import { spec } from '@edgeware/node-types';
const options: ApiOptions = {
provider : new WsProvider('ws://localhost:9944'),
...spec,
};
const api = new ApiPromise(options);
您还需要更新 tsconfig.json 包括以下内容的项目:
{
"compilerOptions": {
"baseUrl": ".",
"paths": {
"@polkadot/api/augment": ["./node_modules/@edgeware/node-types/interfaces/augment-api.d.ts"],
"@polkadot/types/augment": ["./node_modules/@edgeware/node-types/interfaces/augment-types.d.ts"],
}
}
}
依赖关系
您的项目是 @ polkadot-js 依赖版本 必须匹配此工程所使用的版本,包括: @polkadot/api, (中文(简体) ), @polkadot/keyring软件包,以及 rxjs (如果使用 ApiRx 改为 ApiPromise和 typescript。为了验证所需的版本,请检查 @polkadot package.json文件,以查看本项目的软件包所指定的版本.json.
大楼
这个项目取决于 @ polkadot/ 类型源 项目,它有逐步建设该项目的指南.
边缘专用版本如下:
-
确保 软件包.json 那个
@polkadot/api设置为正确的版本,并且@polkadot/typegen设置为与@polkadot/api。增加@edgeware/node-types必要时出版. -
确保所有
definitions.ts文件在src/interfaces如果边缘软件模块有变化,则更新到每种类型的最新版本. -
运行一个 边缘软件节点 在本地主机的链条。 然后,运行
./generateMetadata.bash更新edgeware.json文档. -
一旦你有一个
edgeware.json文件中,您可以用 :$ yarn generate $ yarn lint -
您将注意到, Lint 命令的输出包含一个错误 。 这是因为"类型"脚本对互相依赖的自定义模块的相对路径处理不当. 您必须手动更改为 信号/类型.ts 内容如下:
- import { VoteStage } from './voting'; + import { VoteStage } from '../voting'; -
全部升级 光谱文件 ,并按 @polkadot-js changlog (变换日志) 和下层的链条.
-
要将 Typescript 编译为 npm 出版的 Javascript, 运行
yarn build。此命令不应产生任何错误,并将将构建文件输出到 数字 目录. -
运行一个对新建的 API 的简单测试
yarn verify [mainnet | beresheet]。 。 。 . -
以
npm publish。 。 。 .