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

从本地开发到全球部署,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

24小时热点

热点专题

Gem和Genie功能大对比

2022年4月25日,OpenSea官方发推宣布收购NFT交 ...

2397889

TopHolder 头号藏家

Genie 就是一个 NFT 市场的交易聚合器

Web3 中的「聚合器」是一个非常重要的组件,例如 1inc ...

2363077

嗨艺购

一个pi币现在值多少人民币?pi币2024年可以交易吗?

近年来,加密货币市场迅速发展,各种新型数字资产层出不穷。其中 ...

1625055

Alameda Research

USDT是什么币?新手如何购买和交易?

USDT是什么币?新手如何购买和交易?USDT是什么?USD ...

1301292

Cosmos Art

2024年pi币多少钱一个?介绍pi币历年价格

Pi币是一种新兴的数字货币,它的概念于2019年由一位斯坦福 ...

1287487

Alameda Research

CORE未来能涨到多少钱?core2024大约能涨到多少钱?

在数字货币市场中,CORE 作为一种加密货币,在过去的一段时 ...

878479

BitKeep钱包

欧科集团设立1000万元疫情防治专项基金 联合中华慈善总会共同支援一线防护工作

这个春节,新型冠状病毒疫情牵动着大家的心。1月26日0—24 ...

832338

TokenInsight

举报:PAXG币 (PAX Gold)涉嫌违法?

PAXG币(PAX Gold)是一种基于以太坊区块链网络创建 ...

780914

NewsBTC

什么是Polygon(Matic)网络?

由于网络拥堵仍然是以太坊区块链的一个问题,像Polygon这 ...

774002

树图链

ZT交易所介绍

ZT交易所介绍 ZT是为全球用户提供最优质数字资 ...

759409

ZT GLOBAL 交易所