ethereum - 验证 NFT ERC-721 代币所有权的最佳实践

标签 ethereum solidity smartcontracts

我正在开发一个智能合约 (SC) 和一个前端 Dapp,用于销售一些 NFT ERC-721 代币。当用户/地址购买其中一个 NFT 代币时,该代币将由 SC 为他的利益类型转换,而我的 Dapp 将在本地数据库中注册所述购买。考虑到用户以后可能会在不通过我的前端 Dapp 的情况下出售他的代币,将在 SC 中找到的特定用户的代币所有权与我的本地数据库同步的最佳做法是什么?每次用户访问网站并希望在前端 Dapp 中显示他拥有的代币时,我是否应该查询 SC?这不会花太长时间吗?我是否应该仅在用户试图出售他的代币之一时才查询 SC,以验证他是否是合法所有者?

最佳答案

您需要通过扫描以太坊区 block 链中的所有新区 block 来跟踪 NFT 代币智能合约的 Transfer 事件。当您检测到传输事件时,工作进程会更新您的本地数据库。

关于ethereum - 验证 NFT ERC-721 代币所有权的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64961389/

相关文章:

javascript - 区 block 链中如何保护源代码不被篡改?

ethereum - 为什么我无法将以太币发送到我的智能合约地址?

algorithm - 我怎样才能稳定地返回一个结构数组?

blockchain - 如何在 Solidity 中返回映射列表? (以太坊合约)

ethereum - 执行智能合约时的 Solidity 错误消息 : "the constructor should be payable if you send value"

java - 从 Java 应用程序交互智能合约

ethereum - web3.eth.abi.decodeLog 返回错误的日志参数值

smartcontracts - 子账户访问 key 和存储质押

javascript - 即使我使用以太坊官方网页中的示例也无法发送交易

javascript - 在 test.js 文件中使用智能合约变量时出错