使用 TypeChain 从智能合约 ABI 生成类型声明

前言

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 并将其集成到开发环境中,便可以轻松地与合约交互并提升整体开发人员体验。

相关推荐
老蒋每日coding1 小时前
Web3 开发入门:用 Ethers.js 玩转以太坊交易与合约
web3·区块链
m0_748229992 小时前
Vue2 vs Vue3:核心差异全解析
前端·javascript·vue.js
C澒2 小时前
前端监控系统的最佳实践
前端·安全·运维开发
xiaoxue..3 小时前
React 手写实现的 KeepAlive 组件
前端·javascript·react.js·面试
hhy_smile3 小时前
Class in Python
java·前端·python
小邓吖3 小时前
自己做了一个工具网站
前端·分布式·后端·中间件·架构·golang
南风知我意9573 小时前
【前端面试2】基础面试(杂项)
前端·面试·职场和发展
LJianK14 小时前
BUG: Uncaught Error: [DecimalError] Invalid argument: .0
前端
No Silver Bullet4 小时前
Nginx 内存不足对Web 应用的影响分析
运维·前端·nginx
一起养小猫4 小时前
Flutter for OpenHarmony 实战 表单处理与验证完整指南
android·开发语言·前端·javascript·flutter·harmonyos