网上通用的解决方案有
typechain
npm 包, https://github.com/dethcrypto/TypeChain
UniSwap, MakerDao, AAVE 等的解决方案.
ethereum-abi-types-generator
npm 包, https://www.npmjs.com/package/ethereum-abi-types-generator?activeTab=readme
对比 TypeChain 的优势:
- 不添加额外代码到工程
- 导出动态类型方法
也许这是下一代的解决方案
@0x/abi-gen
0x-monorepo 的 编译器, 链接地址: https://github.com/0xProject/0x-monorepo/tree/development/packages/abi-gen
编译好后, 需要额外手动添加依赖的其他 @0x
包.
相关文章: https://blog.0xproject.com/abi-to-typescript-generator-b0fb5cae9e29
对比
所以在当前如果做生产项目选型的话, 很显然 typechain 是较好的方案.