帖子
分享您的知识。
yhant3251
Apr 07, 2025
专家问答
如何确保只有NFT所有者才能在合约中进行转让?
嘿大家!我正在努力实施NFT合同,并希望确保只有NFT的合法所有者才能进行转让. 我有这个传送功能:
public fun transfer(
nft: DevNetNFT, recipient: address, _: &mut TxContext
) {
transfer::public_transfer(nft, recipient)
}
这个检查是在public_transfer
方法中完成的,还是我需要添加额外的逻辑?
- Move CLI
0
3
分享
评论
答案
3Apr 7 2025, 20:34
进一步澄清一下,public_transfer
检查所有权的不是特别的,而是Sui交易语义. 要使交易接受对象作为输入,您必须拥有所有权,这意味着发件人的地址必须与该对象的所有者地址相匹配. 但是,出于交易的目的,共享对象将每个人视为 “所有者”.
0
评论
deriss119
Apr 7 2025, 20:36checkWithegor在转移NFT之前,该public_transfer
函数检查发送者是否持有NFT. 因此,该public_transfer
方法确实内置了逻辑.
0
评论
你知道答案吗?
请登录并分享。
Move is an executable bytecode language used to implement custom transactions and smart contracts.
148帖子231答案
热门帖子