本我的项目将会介绍一个动静 NFT 的开发过程,动静 NFT 自身是一个十分乏味的过程,另外在开发过程中,还能够帮忙开发者加深对于智能合约的了解,晋升软件开发技能,是一个很好的练习我的项目。
NBA 球星 LaMelo Ball 在取得年度最佳新人王当前,他的 NFT 也产生了变动
在我的项目中,咱们将会开发一个动静 NFT,这个动静 NFT 不仅会本人更新用户看到的图片,而且图片还是随机抉择的。这个 NFT 会依据某个资产的价格(资产价格将会通过 Chainlink 喂价来提供)随机更新图片。例如,如果价格上涨了,那么 NFT 的图片就会就会变成上面三只牛的其中一只。
动静 NFT 能够抉择的三只牛的图片
如果资产的价格下降,则上面其中一个熊的就会呈现在 NFT 上。
动静 NFT 能够抉择的三只熊的图片
不论是熊还是牛的图片,最终被抉择的那张图片都是随机的。
因为区块链的共识算法,使得它是一个确定性零碎,所以在区块链中实现随机数是很艰难的。有一个解决方案是 Chainlink VRF,它是一个可验证的随机数生成器(RNG)。通过应用 Chainlink VRF,智能合约能够在不就义安全性和可用性的状况下取得一个随机数。
动静 NFT 会主动响应市场价格的变动,开发者不须要去查看价格或者触发 NFT 的智能合约。这个个性会通过 Chainlink Keepers 去实现,Keepers 能够自动化一个智能合约。一旦你的 NFT 智能合约部署当前,你只须要让你的 VRF 和 Keepers 的订阅余额短缺就能够了。智能合约的执行和动静 NFT 的抉择都能够通过一个去中心化的形式实现,这两个过程都是可验证,并且能够通过密码学来保障其安全性。
我的项目前置常识
这个我的项目须要你有一些编程常识,最好是 Javascript 或者 Python。咱们会应用 Solidity 来写智能合约,你能够在 Road To Web3 中查看我的项目的文档,这个文档是由 Alchemy 创立的,就是为了这个动静 NFT 我的项目。你还能够能够在这里找到更多的学习材料。
通过在线 IDE Remix 代码编辑器就能够实现整个我的项目。我的项目的 GitHub Repo 在这里 – 每一个分支都代表着我的项目的一个阶段。
我的项目阶段
开发这个我的项目的几个阶段如下:
开发一个 ERC-721 通证,会应用到 OpenZeppelin Wizard 生成可应用的代码库。代码和实现步骤在 GitHub repo 的主分支中。
在我的项目中实现 Chainlink Keepers,同时连贯 Chainlink Price Feed 来追踪一个非凡资产的价格。代码和步骤在 GitHub repo 的 price-feeds 这个分支中。
退出可验证的随机数,让动静 NFT 能够随机抉择可用图片。这部分是一个额定的工作,这部分代码和步骤在 GitHub repo 的 randomness 分支中。
你会学到什么
通过这个我的项目你会学习到:
- 怎么设计智能合约的架构,并且编写它的代码
- ERC-721 非同质化通证的根底以及它们的功能性
- 怎么样应用 Remix,Open Zeppelin 代码库,以及 Chainlink 的 3 个次要服务
- 智能合约彼此如何进行交互
理解更多!
对区块链技术感兴趣的小伙伴们能够关注 Chainlink 预言机,私信退出开发者社区!有大量对于智能合约的学习材料以及对于区块链的话题!