跟着非同质化代币NFT市场进入狂热的阶段,回首相对早期的NFT并记着CryptoKitties所面对的挑战是一件有趣的工作。Dapper Labs团队构建的平台是第一个潜在大局限回收的真实示例,也是以太坊区块链上的第一个真正压力。
从那今后,跟着Rarible、OpenSea、Foundation和Sorare等平台的涌现,NFT开始发达成长。这些平台每月都有数百万美元的资金流入。尽量早期存在一些坚苦,但大大都环境已经在以太坊区块链上产生了。可是,Dapper Labs的团队在经验了CryptoKitties之后,开始着手构建一个通用的新区块链,但也很是适合?NFT用例。这样做的目标是办理在以太坊上所碰着的很多NFT问题,同时为该规模的开拓者和保藏家提供更好的体验。他们的新区块链Flow已经证明本身有本领得到一些知名度。NBA、UFC甚至Dr. Seuss都在利用Flow。
我们最近写了一篇关于在IPFS上建设具有内置资产支持的NFT的文章,而且接头了NFT规模中的责任问题,以及我们认为IPFS可以提供的辅佐。此刻是时候接头如安在IPFS支持的Flow上建设NFT。Flow区块链的主要早期应用是NBA Top Shot。我们将建设一个很是根基的锻造NFT进程的副本,然后在IPFS上备份NFT元数据和资产。
由于我们喜欢pi?atas,而不是NBA的出色视频,因此我们的NFT将专注于可生意业务性pi?atas在派对上被销毁的视频。
本教程由三个部门构成:
1.建设合约并锻造代币。
2.建设一个应用措施来查察通过此合约建设的NFT
3.建设一个市场,将NFT转让给其他人,同时在IPFS上转让NFT的基本资产
让我们从第一个教程开始。
配置
我们需要安装Flow CLI。在Flow的文档中有一些很好的安装说明,但我将在这里复制它们:
ios系统
brew install flow-cli
Linux操纵系统
sh -ci “$(curl -fsSL https://storage.googleapis.com/flow-cli/install.sh)"
Windows系统
iex “& { $(irm ‘https://storage.googleapis.com/flow-cli/install.ps1') }”
我们将在IPFS上存储资产文件。为了简化操纵,我们可以利用Pinata。您可以在这里注册一个免费帐户,然后在这里获取一个API密钥。
我们还需要安装NodeJS和文本编辑器,以辅佐突出显示Flow智能合约代码的语法(以Cadence语言编写的)。您可以在此处安装Node。Visual Studio Code具有支持Cadence的扩展。
让我们建设一个目次来记录我们的项目。
mkdir pinata-party
切换到该目次并初始化新的Flow项目:
cd pinata-partyflow project init
此刻,在您最喜欢的代码编辑器中打开项目(同样,假如您利用的是Visual Studio code,请获取Cadence扩展),然后开始事情。
您会看到一个flow.json文件,我们将很快利用它。首先,建设一个名为cadence的文件夹。在该文件夹中,添加另一个名为contracts的文件夹。最后,在contracts文件夹中建设一个名为PinataPartyContract.cdc的文件。
在我们继承前进之前,重要的是要指出,以后刻开始,我们对Flow区块链所做的一切都将在模仿器上完成。然而,将项目陈设到测试网或主网就像更新flow.json文件中的设置配置一样简朴。此刻将文件配置为模仿器情况,然后我们就可以开始编写合约了。
更新flow.json中的合约工具,如下文所示:
"contracts": {?????"PinataPartyContract": "./cadence/contracts/PinataPartyContract.cdc"}
然后,将该文件中的deployments工具更新为如下文所示:
"deployments": {?????"emulator": {??????????"emulator-account": ["PinataPartyContract"]?????}}
这是汇报Flow CLI利用模仿器来陈设我们的合约,它还引用了(模仿器上的)帐户和我们即将编写的合约。实际上……
让我们开始写这个合约吧。
合约
Flow提供了关于建设NFT合约的精彩教程。这是一个很好的参考点,可是正如Flow所指出的,他们尚未办理NFT元数据问题。他们但愿将元数据存储在链上。这是个好主意,他们必定会想出一个合乎逻辑的要领。然而,我们此刻想用元数据锻造一些代币,而且我们想要与NFT相关联的媒体文件。元数据只是一个构成部门。我们还需要指向代币最终代表的媒体。
假如您熟悉以太坊区块链上的NFT,您大概知道这些代币背后的很多资产存储在传统数据存储和云托管提供商中。这是可以的,除非它不是。我们已往曾写过关于内容寻址内容的天才,以及在传统云平台上存储与区块链相邻数据的漏洞。这一切归结为两点:
资产应该是可验证的
应该很容易转移维护职责
IPFS办理了这两个问题。然后,Pinata以一种简朴的方法分层,将该内容恒久牢靠在IPFS上。这正是我们但愿支持NFT的媒体所需要的,对吧?我们但愿确保我们可以或许证明所有权(NFT),提供关于NFT的数据,并确保我们对基本资产(IPFS)具有节制权,而不是一些副本。
打开PinataPartyContract.cdc,让我们开始事情。
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。