慢雾创始人余弦:3分钟了
揭秘 ERC721 ,IPFS 和 OpenSea
NFT 铸造和销售大多数时候都与这三种技术的通信有关。那么这究竟是如何工作的呢?
让我们潜入Opensea:
按照顺序解释:
ERC721: 非同质化代币(NFT)是具有独特标识的代币。与其他常见类型的代币(如 ERC20)不同,后者在某种意义上是同质化的,就像1比特币=1比特币一样,任何其他代币也等于同等数量的相同代币。但是一个 ERC721 代币并不等同于另一个代币,这就是为什么一个 Bored Ape 艺术品无法与 Crypto Kittens 交换的原因。(如果您不明白这个概念也没关系,它只是 NFT 如何不等同的例子,稍后我们会对他有进一步的解释)。
ERC721代币最常见的例子是:
- 无聊猿(BoredApe)
- 加密小猫(CryptoKittens)
- 加密朋克(Crypto Punks)
这些是非常常见的 NFT 项目,它们中的每一个都与其他项目不同。
一个人如何拥有 NFT?
好吧,通过拥有 NFT 的所有权
因此,为了拥有特定 NFT 的所有权,您需要进行铸造(Mint)。
铸造过程:ERC721 涉及所有权,一个人通常通过铸造(就像在 ERC20 中购买)获得一个代币的所有权。
这个过程是通过 ERC721 智能合约中的函数实现的,通常使用 OpenZeppelin 标准。
那么,在幕后所有的铸造和 NFT 相关的东西是如何工作的呢?是的,我们要谈论智能合约代码。
在 NFTs 的智能合约代码中,有很多函数可以实现到ERC721 代币/项目中。其中一些可以在 ERC721 文档中看到,例如:
- balanceOf
- ownerOf
- SafeMint
- TokenUrI
- BaseUrI
- setApprovalForAll
- transferFrom ...etc
在大多数 NFT 项目中,铸造特定代币后,您通常可以在名为 OpenSea 的市场上查看它。
嗯,这与 ERC721 智能合约中的某些功能有关,该功能允许 OpenSea 访问文件及其所有相关信息。
- name => 此函数返回项目的集合名称。
- symbol => 此函数返回项目的集合符号。
- baseUri => 此函数返回所有代币的基本 URI。
- tokenUri => 此函数返回铸造的特定代币的 URI。
tokenUri 函数将 baseUri 与 tokenId 相结合,以获取代币的特定 uri。
返回的 Uri 通常是代币元数据的位置。
元数据表示包含有关代币的信息的 json 文件。
这就是 IPFS 的用武之地,由于大多数 NFT 项目都希望完全去中心化,他们的文件存储也必须如此,IPFS 完美地涵盖了这一点。
IPFS(星际文件系统):IPFS是一个分布式系统,用于存储和访问文件,网站,应用程序和数据。
IPFS 使用内容寻址,哈希等,你可以在他们的文档中获得更多信息。
IPFS 是一个点对点存储网络,它允许 IPFS 节点能够存储文件并连接到其网络。个人可以运行节点与网络通信。
但是,由于[Alchemy](alchemy.com)和[Infura](infura.io)是去中心化应用程序的节点提供商,Pinata,Filebase 和其他一些 NFT 项目的节点提供者也是如此,因为直接运行节点(到IPFS)可能会很麻烦。
上传到 ipfs 的文件有一个称为CID(内容ID)的哈希值,该哈希值对于上传的每个文件都是唯一的。
上传的每个文件都有一个唯一的CID,可以直接通过 ipfs 节点或 Filebase / Pinata 等获取。
因此,令牌的元数据通常上传到 ipfs 并生成 CID。此 CID 用作代币URI,这是 OpenSea 访问以获取令牌信息的内容。诸如
- 代币的名称,
- 描述
- 特性
- 图像文件位置(这也是已上传到 IPFS 的图像的CID) Json 格式如下所示:
在IPFS上看起来像这样:
OpenSea:世界上第一个也是最大的加密收藏品和非同质化代币(NFT) 的数字市场
ERC721 合约指定集合中每个代币的 tokenURI,该代币被定向到上传至 ipfs 的元数据文件。遵循 opensea 要求的元数据,即包含有关代币的信息。通过帐户铸造后可以在 OpenSea 上查看。
OpenSea 需要一些时间才能显示铸造到地址的 NFT,有时大约 24-26 小时。
因此,这就是所有这些技术的工作方式,关于如何在您的 opensea 帐户中为您提供 NFT。
此内容到此结束。我希望你现在明白这三种技术是如何协同工作的,为我们提供像 BoredApe 和 Crypto Kittens 这样的Nft,如果没有,我希望你至少学到了一些东西。