让我们了解订阅NFT并铸造一些

  • BuildBear
  • 发布于 2022-11-03 16:24
  • 阅读 42

这篇文章介绍了基于NFT的订阅模型(EIP-5643),其允许用户通过持有特定NFT来获取服务和奖励。文章详细讨论了这种订阅的优势,如何设置本地环境以及开发自己的NFT订阅智能合约的步骤,涵盖了代码实现及部署的具体细节。

什么是基于NFT的订阅(EIP-5643)?

基于NFT的订阅要求用户或参与者持有特定的NFT。通过验证他们对所需NFT的所有权,用户可以访问特定的服务、福利、奖励等。因此,这意味着这种订阅有许多不同的选项。例如,它可以让用户访问特定的在线俱乐部、DAO、Discord小组或特殊事件。在后者的情况下,我们往往会谈论NFT票务,尤其是当它是一次性活动时。此外,在大多数情况下,NFT持有者可以访问某些NFT限量网站。在这些网站上,他们常常可以查看可解锁的内容。

订阅NFT允许企业建立最忠诚客户的社区。客户已经熟悉订阅模型的好处。寻找奖励你的订阅NFT持有者的方式,提供独特的福利、访问权限和内容。

为什么选择订阅NFT?

Web2订阅是租用的,而不是拥有的。你并不拥有你的Spotify会员。你不能出售它。由于Apple的30%佣金,你还在支付“平台税”。但这只是初步的思考。它们真正的能力在于,

  1. 基于表现的订阅 - Fortnite PFP同时作为NFT订阅,所有成员可以访问独特的皮肤和地图,但高水平玩家解锁稀有特性和独特事件。玩家表现越好,他们的NFT价值越高。
  2. 空投 - Disney+订阅空投Marvel艺术作品和Star Wars PFP的NFT。Tidal NFT空投音乐视频的部分所有权。Coinbase NFT提供访问高端市场数据和NFT空投。空投对吸引和保持订阅者是很有效的。
  3. 特性解锁与独家内容 - 特斯拉NFT解锁高端功能的访问。HBO NFT让你在新电影发布之前观看。Food Network NFT提供互动烹饪课程。通过将稀缺的福利附加到基于NFT的订阅,其价值提高。

现在,让我们学习如何开发自己的订阅NFT

(A) 本地设置

你可以从这里克隆教程库:Github,然后进入subscription_nft文件夹

(B) 安装

在你的本地系统上设置完代码后,你需要确保安装所有依赖项,使用npm iyarn install,具体取决于你的个人喜好。

(C) 理解订阅NFT框架

(C1) SubscriptionNFT.sol

这个合约首先从目录中简单地导入我们的Modified_ERC5643合约,并且里面有一个简单的`_mint`函数。铸造函数具有要发行NFT的地址、tokenID以及最终token的过期日期的参数。

所有这些参数必须仅由所有者提供,因为没有其他人可以调用这个函数(我们这样做是出于安全考虑)。

内部调用`__mint`函数,该函数进一步调用`_renewSubscription`函数,更新用户token的过期日期。

(C2) 理解Modified_ERC5643.sol

在Modified_ERC5643合约中,我们主要需要理解两个函数的工作,即`_renewSubscription`和`_cancelSubscription`。

(i) RenewSubscription - 这是一个仅限所有者的函数,因为只有当用户向所有者支付费用时,NFT的到期时间才会更新/延长。为简单起见,我们可以将到期时间理解为Unix时间戳。

(ii) CancelSubscription - 这也是一个仅限所有者的函数,允许合约的所有者取消任何用户的token。它将tokenID作为参数。

(D) 部署智能合约:SubscriptionNFT.sol

为了进行部署以及我们的演示目的,我们将在BuildBear上部署智能合约 → buildbear.io

在BuildBear上创建私人测试网络 🐻‍❄️ *(你为什么问选择BuildBear?看看这里:** 当本地主机失败时 和 * 通过BuildBear Testnet的分析赢得Web3黑客马拉松 )

我们已经从BuildBear获得了我们的RPC,并已更新我们的.env文件以获取RPC端点。

我们已将hardhat.config.js 更新为以下内容:

要部署智能合约,请运行命令npx hardhat run scripts/deploy.js --network buildbear

一旦你运行了上述命令,智能合约应该已经部署,终端将提供你已部署的智能合约地址,如下所示:

(D) 与我们的智能合约互动

💡 作为奖励,你可以与我的合约互动,感谢BuildBear!!!(关于BuildBear的更多好处请见 这里这里这里

复制生成的地址,然后转到你私人版本的BuildBear Explorer。你可以访问我的:BuildBear | Explorer。我的合约部署在0x7A5C9F76f76A475689B067e111bCC6EB5f8bBE77,因此我的合约可以在这里

现在我们将看看如何与合约互动。为此,请转到页面的合约部分,你会看到写合约的选项。我们将通过调用铸造功能与智能合约互动。确保连接已部署智能合约的Metamask帐户,因为该帐户将是合约的所有者,只有这样你才能使用铸造功能。

我调用了铸造功能,你可以通过这个链接查看我的交易。

BuildBear的一个特别功能是高级选项卡。该选项卡允许你查看每笔交易的细节。

这展示了_mint函数被调用时提供的参数,其中又调用了一个事件_SubscriptionUpdate。这是一种了解你的智能合约实际上如何与用户互动并找到任何潜在漏洞或错误的好方法。

至此,我们的基于NFT的订阅教程结束。我希望你能够理解这个概念,并能够在自己的私人节点上部署智能合约。我想借此机会分享我在BuildBear工作的经验。我本可以选择其他任何测试平台,例如Remix IDE,但BuildBear提供了分享测试节点与朋友的自由,从而使其更加互动。BuildBear是一个很棒的工具,特别是如果你在团队中工作,这样整个团队可以在一个节点上共同测试智能合约。

如果在实现智能合约时遇到任何困难,请在评论中告诉我们,我们将帮助你解决。对于其他反馈或建议,请随时在评论部分与我联系。

想了解更多关于BuildBear的信息,请阅读这里文档

这里获取上述Github代码

如果你欣赏我们所做的,请在Twitter上关注我们,并加入Telegram群组这里,如果你还没有加入的话。

如果你喜欢我们的工作,请给我们一个赞👏。

作者:

Amateur-DevShivamAqil

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

0 条评论

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