实施NFT版权:面向艺术家和开发者的ERC721-C实用教程

  • BuildBear
  • 发布于 2024-01-19 18:44
  • 阅读 48

本文章介绍了ERC721-C标准,这是一种新的可编程NFT的Token标准,专为确保链上版税而设计。文章详细讨论了ERC721-C的工作原理、可编程版税模型,以及如何结合ERC721-C创建相应的智能合约。此外,文章还提供了关于如何部署和测试合约的具体步骤和代码示例。

实现 NFT 版权:针对艺术家和开发者的 ERC721-C 实用教程

什么是 ERC721-C?

ERC721-C 是一个 新的代币标准,专为可强制执行的链上版权设计。与 ERC-721 和 ERC1155 不同,ERC721-C 使版权可编程,并允许创作者阻止零费用的交易平台列出他们的作品。

创作者可以使用 ERC721-C(和 ERC1155-C)来设定链上的版权规则。这个标准使他们能够创建权限智能合约,以控制版权转移。

通过 ERC721-C,创作者可以确定他们的 NFT 销售在哪些平台进行,并过滤仅与经过批准的合约和应用程序的互动。这防止了交易者在零费用平台上逃避版权,因为使用 ERC721-C 创建的收藏可以选择退出这种市场。

ERC721-C 的工作原理

  1. 开发者像使用 OpenZeppelin 一样继承 ERC721-C 合约。
  2. 根据需要自定义或添加功能。
  3. 部署他们的 ERC721-C 收藏后,开发者使用 setToDefaultSecurityPolicy() 函数指向 Limit Break 的 Creator Token Transfer Validator 合约,应用默认安全策略。
  4. 然后,该收藏在所有代币转账中强制执行此默认转移政策。开发者可以随时更改政策和/或白名单,以增加灵活性。

可编程版权

ERC721-C 将版权逻辑直接嵌入以太坊智能合约代码中,使创作者能够控制版权,有可能减少市场主导地位。

ERC721-C 允许 NFT 创作者探索不同的版权模型:

  • 共享版权:版权可以在创作者和持有者之间拆分。
  • 仅铸造者版权:只有铸造者,而不是创作者,赚取版权费用。
  • 附条件版权:版权基于特定条件,例如销售额超过铸造价格时生效。
  • 可转让版权:创作者可以授予持有者一个单独的 NFT,使他们有权获得版权收入。例如,铸造“NFT X”可能包括获得“NFT Y”。

集成可编程版权的 ERC721 示例

这个示例展示了将可编程版权集成到 ERC721 收藏中的情况,展示了混入所提供的灵活性和易用性。具体来说,我们专注于一种与可变铸造者版权相结合的 ERC721-C 变种,提供了一种创新方式来创建 NFT 和管理版权。

版权管理混入:一个专门的混入,使铸造者保留他们所创建 NFT 的永久版权权利。该特性允许原始铸造者为每个已铸造的代币 ID 修改版权费用,为数字艺术市场提供前所未有的控制和灵活性。

详细分解

导入的合约:

  • OwnableBasic.sol OwnableInitializable.sol:基本合约,提供基本的所有权控制机制,确保对 NFT 收藏的稳健治理。
  • ERC721C.sol:标准 ERC721 合约的精炼版本,专为 NFT 创建而优化,特别是在安全性和版权方面增加了功能。
  • MutableMinterRoyalties.sol:一个复杂的合约,管理可变铸造者版权,使创作者能够动态调整版权配置。

合约构造函数:

  • 参数:接收三个关键输入:defaultRoyaltyFeeNumerator_(确定初始版权费用),name_(NFT 收藏的名称)和 symbol_(收藏的符号)。
  • 初始化:使用指定的 namesymbol 设置 ERC721 基础,并通过 defaultRoyaltyFeeNumerator 配置可变铸造者版权。

接口支持函数:

  • supportsInterface:一个重构的函数,以验证合约中对各种接口的支持。该方法交叉引用从 ERC721CMutableMinterRoyaltiesBase 继承的功能,以确保全面的兼容性。

代币铸造函数:

  • mint:促进新代币的创建,为其分配一个独特的 tokenId,并将其分配给指定地址。
  • safeMint:功能类似于 mint,但包含额外的保障措施,以验证接收者接收 NFT 的能力,从而减少潜在的转移错误。

这种综合方法有效地将 ERC721 标准的稳健性与创新的版权管理相结合,为创作者在 NFT 领域提供了增强的控制和灵活性。

为了帮助你快速入门,我们为你准备了所有内容在 BuildBear Labs ERC721-C

  • 克隆或分叉 ERC721C:
  • 使用以下命令来克隆 ERC721C 仓库:
git clone <https://github.com/BuildBearLabs/ERC721-C.git>
  • 安装依赖项:
  • 切换到 ERC721-C 目录,并安装必要的依赖项:
cd ERC721-C
npm install
  • 创建你的私有测试网络分叉:
  • 你可以从任何测试网络或主网络创建一个私有测试网络分叉,因为在此情况下不需要主网络状态:
npm run createTestnet

  • 一旦测试网络正常运行,其 RPC、Explorer 和 Faucet 详细信息将更新在 testnet.json 文件中。
  • 部署合约:
  • 完成上述步骤后,执行以下脚本以部署你的合约。

npx hardhat run .\\scripts\\deploy-ERC721C.js
  • 单击终端中提供的合约链接,你将被重定向到构建熊 Explorer 的合约页面,如下所示:

现在,我们可以通过 Explorer 直接与合约函数进行交互。以下是操作步骤:

访问 Faucet:

  • 首先,在 testnet.json 文件中找到 faucet 链接。
  • 打开 faucet 链接,使用“添加到 MetaMask”按钮将你的沙盒网络连接到你的钱包。此步骤对铸造原生代币(必须覆盖Gas费用)至关重要。如下图所示:

使用合约写入函数:

  • 在 Explorer 的“合约写入函数”部分导航。
  • 连接你的钱包,然后输入你的钱包地址和 tokenId。
  • 然后点击“写入”按钮,并在 Explorer 上确认交易。此步骤在下面的图片中有所描述:

读取合约信息:

  • 在“读取合约”部分查看 NFT 的所有者。
  • 此外,你可以检查版权费用。例如,如果 NFT 的销售价格为 100 ETH,你将获得 10 ETH,这代表销售价格的 10%,如以下示例所示:

现在,让我们继续运行测试脚本。进行测试对于确认你的合约功能和可靠性至关重要,在将其部署到在线网络之前。

要启动测试过程,请使用以下命令:

npx hardhat test

执行此命令将运行 Erc721C-Testnet.js 文件中指定的测试脚本。此步骤对于确保你的合约按预期运行并且在部署到区块链之前没有关键问题至关重要。

总结

ERC721-C 为 Web3 版权挑战提供了有效的解决方案。通过在 NFT 的智能合约中嵌入收入合约,使艺术家能够确保在他们的作品被转售时收到固定比例的销售额。

BuildBearLabs/ERC721-C (github.com)

关于 BuildBear:

BuildBear 是一个专为 DApp 开发和测试量身定制的平台。开发者可以在各种区块链网络上构建个性化的私有测试网络沙盒的自由。无论是铸造无限的本地和 ERC20 代币,还是实现 BuildBear 上快速的交易时间(少于 3 秒!),都极大地增强了 DApp 的开发周期。该平台配备了实时测试和调试工具,确保开发人员能够轻松跟踪复杂的区块链交易。

在以下平台与我们联系 Twitter | LinkedIn | Telegram | GitHub

作者: chandan

  • 原文链接: medium.com/buildbear/imp...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
BuildBear
BuildBear
https://medium.com/buildbear