请解释 NFT 版税的概念,并阐述在智能合约中如何实现版税功能。
考察说明
考查对 NFT 版税机制的理解及在智能合约中的实现能力。
回答思路
- 【回答框架 1】NFT 版税是指 NFT 在二级市场每笔交易中,原始创作者按设定比例获得分成的机制,通常由交易平台或智能合约强制或约定执行。
- 【回答框架 2】实现版税功能的关键在于合约中存储版税比例和收款地址,并在转账或交易时调用相应逻辑,如使用 ERC-2981 标准接口,该接口通过 royaltyInfo 函数返回版税信息和金额。
- 【回答框架 3】当交易发生时,合约或市场平台从销售价格中计算版税并转移给创作者,剩余部分支付给卖家。常见实现方式包括:在转让函数中内置版税逻辑,或由市场合约在调用 transferFrom 或 safeTransferFrom 时额外处理。
- 【回答框架 4】需注意版税仅适用于市场交易,直接转账(如用户之间私下转让)可能无法被强制收取版税;ERC-2981 只提供信息接口,并未强制转账,实际执行依赖市场合约或自定义转账逻辑。
- 【回答框架 5】可考虑将版税信息存储在 NFT 的元数据或专用存储中,并在铸造时设置,确保不可修改或由管理员控制,并兼容多市场支持。
- 【关键点 1】NFT 版税是创作者从二级销售中按比例获得的分成,用于持续激励创作。
- 【关键点 2】ERC-2981 提供标准版税接口,royaltyInfo 返回收款地址和版税金额。
- 【关键点 3】交易时由市场或自定义合约在转移前计算并划转版税。
- 【关键点 4】直接转让无法保证版税,需依赖市场协议或合约内强制逻辑。
- 【关键点 5】版税比例和收款地址通常在铸造时设置,需考虑可更改性。
- 【易错点 1】混淆版税与交易费,版税归属创作者,交易费归属平台。
- 【易错点 2】错误认为 ERC-2981 能自动转账版税,它只是信息接口,实际转账需实现。
- 【易错点 3】忽视对直接转账的版税限制,可能导致版税被绕过。