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

相关推荐
ErMao14 小时前
TypeScript的泛型工具集合
前端·javascript
涔溪14 小时前
如何解决微前端架构中主应用和微应用的通信问题?
前端·架构
重铸码农荣光15 小时前
深入理解 JavaScript 原型链:从 Promise.all 到动态原型的实战探索
前端·javascript·promise
我叫黑大帅15 小时前
什么叫可迭代对象?为什么要用它?
前端·后端·python
颜渊呐15 小时前
Vue3 + Less 实现动态圆角 TabBar:从代码到优化实践
前端·css
PineappleCoder15 小时前
pnpm 凭啥吊打 npm/Yarn?前端包管理的 “硬链接魔法”,破解三大痛点
前端·javascript·前端工程化
fruge15 小时前
前端文档自动化:用 VitePress 搭建团队技术文档(含自动部署)
运维·前端·自动化
CoolerWu16 小时前
TRAE SOLO实战成功展示&总结:一个所见即所得的笔记软体
前端·javascript
Cassie燁16 小时前
el-button源码解读1——为什么组件最外层套的是Vue内置组件Component
前端·vue.js
vx_bscxy32216 小时前
告别毕设焦虑!Python 爬虫 + Java 系统 + 数据大屏,含详细开发文档 基于web的图书管理系统74010 (上万套实战教程,赠送源码)
java·前端·课程设计