首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >EOA与合同之间的ERC721转换

EOA与合同之间的ERC721转换
EN

Ethereum用户
提问于 2021-03-05 16:28:18
回答 1查看 246关注 0票数 2

如果我有合同A和合同B(遵循erc721标准),两者都实现了OnERC721Received函数,那么tokenId的传递是如何发生的呢?

如果我在合同A中有tokenId X (uint256)的令牌,并且由Y(地址)拥有,而合同B也有一个与tokenId X相同的铸币令牌,那么是否会将该令牌从A转移到B,如果不是,tokenId会发生碰撞吗?它是如何在引擎盖下工作的,它是否改变了业主的合同B,或者在合同B中制造了一个新的令牌,然后从A中燃烧?

任何帮助都是非常感谢的!

EN

回答 1

Ethereum用户

回答已采纳

发布于 2021-03-06 05:55:51

即使tokenID在两个不同的合同之间是相同的,也不会发生冲突。

事实上,每当我们谈到“转移”令牌时,这意味着更新令牌契约中的余额并分配新的所有权(在批准之后)。这是映射的ERC721实现中的一个示例,其中在传输后更新所有权:

代码语言:javascript
复制
// Mapping from token ID to owner address
mapping (uint256 => address) private _owners;

因此,在您的示例中,将tokenId X从合同A转移到合同B将只更新tokenId X的合同A中的所有权和合同B地址。

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

https://ethereum.stackexchange.com/questions/94257

复制
相关文章

相似问题

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