@0x/contracts-gen 中文文档教程
Contracts Gen
这个包允许你为智能合约包生成样板 TypeScript 代码和配置。
Installation
yarn add -g @0x/contracts-gen
Usage
从您的智能合约包中运行它。
contracts-gen
每次移动合约后都应该运行此工具以重新生成样板代码和配置。
What can it generate
此工具执行以下操作:
- Reads your
compiler.json
. Specifically the list of smart contracts. - Creates
wrapper.ts
file which exports all contract wrappers. - Creates
artifacts.ts
file which exports all contract artifacts. - Generates list of JSON artifact files in
tsconfig.json
- Generates a glob for abi-gen in
package.json
最重要的是 - 如果您的 compiler.json
具有仅按名称引用的合同 - 它会将名称解析为相对路径并将其放在那里。 它还对输出中的所有列表进行排序,从而产生更小、更清晰的差异。
Contributing
我们欢迎来自更广泛社区的改进和修复! 要报告此包中的错误,请在此存储库中创建一个问题。
请在开始之前阅读我们的贡献指南。
Install dependencies
如果您没有启用 yarn workspaces (Yarn < v1.0) - 启用它们:
yarn config set workspaces-experimental true
然后安装依赖
yarn install
Build
项 要构建此包和它所依赖的所有其他 monorepo 包,请从 monorepo 根目录运行以下命令:
PKG=@0x/contracts-gen yarn build
或持续重建关于改变:
PKG=@0x/contracts-gen yarn watch
Clean
yarn clean
Lint
yarn lint
Contracts Gen
This package allows you to generate boilerplate TypeScript code and configs for smart contracts packages.
Installation
yarn add -g @0x/contracts-gen
Usage
Run it from within your smart contracts packages.
contracts-gen
You should run this tool after each time you move your contracts around to regenerate boilerplate code and configs.
What can it generate
This tool does the following:
- Reads your
compiler.json
. Specifically the list of smart contracts. - Creates
wrapper.ts
file which exports all contract wrappers. - Creates
artifacts.ts
file which exports all contract artifacts. - Generates list of JSON artifact files in
tsconfig.json
- Generates a glob for abi-gen in
package.json
On top of that - if your compiler.json
has contracts referenced just by name - it will resolve the name to relative path and put it there. It also sorts all the lists in it's output leading to smaller and cleaner diffs.
Contributing
We welcome improvements and fixes from the wider community! To report bugs within this package, please create an issue in this repository.
Please read our contribution guidelines before getting started.
Install dependencies
If you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:
yarn config set workspaces-experimental true
Then install dependencies
yarn install
Build
To build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:
PKG=@0x/contracts-gen yarn build
Or continuously rebuild on change:
PKG=@0x/contracts-gen yarn watch
Clean
yarn clean
Lint
yarn lint