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 代幣基礎資產的唯一識別符號。


讓我們看看它如何在 Crypto Museum dapp 中以程式設計方式工作。Fleek Storage SDK 提供了類似於 Amazon S3 的介面,可用於與 IPFS 上的檔案進行互動。

// We initialize the S3 client
  const s3 = new AWS.S3({
    apiVersion: ,
    accessKeyId: ,
    secretAccessKey: ,
    endpoint: ,
    region: ,
    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: ,
  };
​
  const request = s3.putObject(params);
​
  request.on(, (statusCode, headers) => {
    const ipfsHash = headers[];
    // 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 變得更好!

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;