首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在erc721/erc20标记之间共享ABI?

在erc721/erc20标记之间共享ABI?
EN

Stack Overflow用户
提问于 2021-03-22 16:18:55
回答 1查看 285关注 0票数 0

假设我有一个使用erc721协议的以太合约。当我使用web3创建新的contract对象时。

代码语言:javascript
复制
 const contract = new web3.eth.contract(contractABI, contractAddress);

如果我只使用erc721作用域内的函数,是否可以只包含父erc721协定的abi?或者,web3需要完整的abi吗?

我想知道是否可以调用共享一个abi的多个erc721令牌。谢谢!

EN

回答 1

Stack Overflow用户

发布于 2021-03-22 17:49:34

可以,您可以将同一ABI用于多个合同。限制是您只能使用ABI中定义的方法和属性。

反之亦然:如果调用在ABI中定义但在实际约定中没有定义的方法,则约定将尝试运行回退函数。

web3需要ABI能够告知如何对函数参数和返回值进行编码。因此,如果调用foo(1, 2),它应该编码为foo(uint8 1, uint64 2)还是foo(bool true, uint256 2)

但它实际上只是在contract.methods.*列表及其编码映射中生成正确函数的帮助器。因此,如果您不需要其中的一些,您可以跳过这一步,不在ABI中定义它们。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66742409

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档