IPFS资讯

beam:Fleek Storage SDK:将NFT资产存储在IPFS上!

作者:资讯 来源:链氪网 2020-05-28 我要评论( )

从本地开发到全球部署,Fleek 都是构建基于 IPFS 的快速现代网站所需的一切,欢迎使用新的互联网。我们新的 Fle

从本地开发到全球部署,Fleek 都是构建基于 IPFS 的快速现代网站所需的一切,欢迎使用新的互联网。

我们新的 Fleek Storage 产品通过简单的拖放界面将网络资产存储在 IPFS 上,并获得了令人赞叹的积极反馈!

但是您知道我们的 SDK 可以通过编程方式上传文件到 Web 吗?它的许多用例之一是用于存储 NFT(不可替代令牌)资产。

在接下来的几分钟中,我们将通过 NFT 资产存储了解 Fleek Storage SDK。

当今许多 NFT 的问题

NFT 代表不可替代令牌,它们通常用于将数字艺术的所有权授予用户。令牌可以通过 ERC-721 接口以分散方式进行传输。链上元数据可跟踪其他信息,例如名称,描述,甚至是数字艺术中的图像 URL。

问题就在这里。

使用散式 NFT 中的数字资产永生不衰,但通过链接到集中式服务器的 URL 保存到这些资产的链接既矛盾又自欺欺人。

Pinata 的精彩演讲进一步描述了这个问题。

解决方案?将资产保存在 IPFS 中,并通过 IPFS 哈希(也称为CID)进行标识。

哈希确保标识符永远不会改变,并且 IPFS 上的托管确保文件存储具有抗审查性,并且与产生 NFT 的值保持一致。

实际情况如何?让我们看一下 Fleek Storage 可以做什么的演示。

演示应用:加密博物馆

加密博物馆是完全分散的 dapp。由于我们的Fleek网站产品,它托管在 IPFS 上,但更重要的是,它使用 Fleek Storage SDK 允许用户将其数字作品的副本上载到 IPFS。

亲自看一下演示!

Dapp 在 Ropsten 测试网络上运行,因此您将需要 metamask 和一些免费的 Ropsten Ether。如果您需要上传一些艺术品,请查看此随机艺术品生成器。

上传到加密博物馆的 ERC-721 资产存储在 IPFS 中,并通过不可变的 IPFS 哈希进行标识

让我们快速了解引擎盖下正在发生的事情。

当用户单击 Create NFT 按钮时,由于我们的SDK,文件被上传到 Fleek Storage。然后,Fleek 返回 IPFS 哈希或 CID,该哈希用于使用令牌元数据中的 CID 铸造新令牌。

该数据(包括所有权和CID的注册表)位于以太坊区块链上。

您可以在下面查阅 ERC-721 令牌的智能合约代码,并查看铸造和 CID 设置的工作方式。该合同基于 OpenZeppelin 库。

pragma solidity  =0.5.0;import  @openzeppelin/contracts/token/ERC721/ERC721.sol contract CryptoMuseum is ERC721 { constructor() ERC721( CryptoMuseum ,  CM ) public { } mapping(uint256 =  string) private _CIDS; function CID(uint256 tokenId) public view returns (string memory) { require(_exists(tokenId),  ERC721metadata: CID query for nonexistent token  string memory _CID = _CIDS[tokenId]; return _CID; } function _setTokenCID(uint256 tokenId, string memory _CID) internal virtual { require(_exists(tokenId),  ERC721metadata: CID set of nonexistent token  _CIDS[tokenId] = _CID; }
 function mint(string memory _CID) public { uint256 _newId = totalSupply() + 1; _safeMint(msg.sender, _newId); _setTokenCID(_newId, _CID); }}

dapp“收集”部分搜索属于该用户的所有令牌,然后读取包含 IPFS 哈希的元数据并显示作品。

修复 NFT 向前发展

NFT 向前发展的一个很好的解决方案是使用 CID 和 CID 本身作为单独的元数据存储 URL 到 IPFS 网关。该 URL 将允许平滑过渡到仅 CID 的分散式生态系统,而仅存储 CID 的实践变得更加普遍。

最终目标是让 CID 成为 NFT 代币基础资产的唯一标识符。

Fleek Storage SDK 提供了类似于 Amazon S3 的界面,可用于与 IPFS 上的文件进行交互。

让我们看看它如何在 Crypto Museum dapp 中以编程方式工作。

// We initialize the S3 client const s3 = new AWS.S3({ apiVersion:  2006-03-01 , accessKeyId:  access-key-id , secretAccessKey:  secret-access-key , endpoint:  https://storageapi.fleek.co , region:  us-east-1 , s3ForcePathStyle: true }); // We defined the params // including the bucket which can be created either // programatically or on the Fleek Web app const params = { Bucket: bucket, Key: `nft/${newTokenId}-${timestamp}`, ContentType: artwork.type, // Body contains the uploaded file Body: artwork, ACL:  public-read , }; const request = s3.putObject(params); request.on( httpHeaders , (statusCode, headers) =  { const ipfsHash = headers[ x-fleek-ipfs-hash  // Do stuff with the IPFS hash. E.G.: Create an Ethereum Transaction... }).send();

上面的代码是从 Crypto Museum 代码中复制粘贴的。就这么简单。

AWS s3 SDK 和 fleek storage 的文档提供了有关如何使用SDK的更多信息。

让我们修复 NFT!

Fleek Storage 是在 IPFS 中存储资产的绝佳解决方案。它通过识别通过 IPFS 散列表示的文件,解决了不可替代令牌的持久问题。

借助 IPFS,可以使 NFT 变得更好!

End

非常感谢您对 IPFS Filecoin 项目的持续支持。我们很高兴继续与您一起,为人类信息建立一个强大的,去中心化和高效的基础。

FilCloud 帮你迅速了解 IPFS 领域的热点技术和应用

公众号:filcloud

转载请注明出处。

令牌,资产,让我们

本文版权归原作者所有,发布此文仅为传递更多行业市场信息,不代表本站观点及立场。如涉及侵权问题请及时联系删稿。本站文章均不构成投资建议,请知悉!

网友点评
0条 [查看全部]  相关评论
浏览记录清空