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

相关推荐
雪碧聊技术10 小时前
前端项目代码发生改变,如何重新部署到linux服务器?
前端·vue3·centos7·代码更新,重新部署
liulilittle11 小时前
C++ 浮点数封装。
linux·服务器·开发语言·前端·网络·数据库·c++
wordbaby11 小时前
Expo 进阶指南:赋予 TanStack Query “原生感知力” —— 深度解析 AppState 与 NetInfo
前端·react native
Moment11 小时前
从美团全栈化看 AI 冲击:前端转全栈,是自救还是必然 🤔🤔🤔
前端·后端·面试
天问一11 小时前
使用 Vue Router 进行路由定制和调用的示例
前端·javascript·vue.js
韩立学长13 小时前
【开题答辩实录分享】以《基于Vue的非遗文化知识分享平台的设计与实现》为例进行选题答辩实录分享
前端·javascript·vue.js
优弧13 小时前
离开舒适区100天,我后悔了吗?
前端·后端·面试
胡gh13 小时前
css的臂膀,前端动效的利器,还是布局的“隐形陷阱”?
前端·css·html
灵感菇_13 小时前
Flutter Riverpod 完整教程:从入门到实战
前端·flutter·ui·状态管理
用户214118326360213 小时前
紧急修复!Dify CVE-2025-55182 高危漏洞,手把手教你升级避坑
前端