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

相关推荐
GDAL几秒前
Tailwind CSS Flex 布局深入全面教程
前端·css·tailwindcss
qq. 28040339843 分钟前
react --> redux
前端·react.js·前端框架
前端不太难6 分钟前
用 RN 的渲染模型,反推 Vue 列表的正确拆分方式
前端·javascript·vue.js
JS_GGbond11 分钟前
防抖与节流:前端性能优化“双剑客”
前端
KLW7515 分钟前
vue v-if和v-show比较
前端·css·css3
梵尔纳多20 分钟前
使用 Electron 实现一个简单的文本编辑器
前端·javascript·electron
晴殇i22 分钟前
SPA首屏加载速度优化!
前端
qq. 280403398423 分钟前
react 副作用探究
前端·react.js
小oo呆32 分钟前
【自然语言处理与大模型】LangChainV1.0入门指南:核心组件Streaming
前端·javascript·easyui
Aotman_33 分钟前
Vue.directive:自定义指令及传参
前端·javascript·vue.js·elementui·ecmascript·es6