前言
web3 项目中,前端不可缺少地需要调用智能合约的代码,但是智能合约只有合约地址及对应的 ABI 文档,而没有相应的 typescript 类型声明。本文讲述如何使用 typechain 将智能合约的 ABI 文件自动生成类型声明,这样可以在项目中使用对应的属性和方法。
实现过程
1. 安装依赖
如标题所述,项目需要安装 typechain 库:
javascript
yarn add typechain @typechain/ethers-v5 -D
2. 编写脚本
而后,需要在项目 package.json
文件中编写 scripts
脚本:
javascript
"typechain": "typechain --out-dir src/types/contracts --target ethers-v5 'src/abis/*.json'",
脚本命令中,由 --out-dir
指定 src/types/contracts
为输入目录,而目标目录则为 src/abis/*.json
文件。
执行脚本
最后执行 yarn typechain
命令就行。
总结
通过采用 TypeChain 并将其集成到开发环境中,便可以轻松地与合约交互并提升整体开发人员体验。