一個雜湊,多個 CID 版本

買賣虛擬貨幣

本文由 FilCloud 編譯整理

原文連結 :https://proto.school/#/anatomy-of-a-cid/06

您可以將任何 IPFS CID 貼上到方便的 CID 檢查器中,以視覺化其所有字首及其代表的含義。

在本課程的最後一課中,我們將介紹使用 CIDv0 和 CIDv1 格式的該工具的一些結果。

示例 1:CIDv1

bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi

第一個示例是版本 1 CID。

檢視 CID 檢查器工具的結果,我們可以看到該工具能夠為我們解析的幾個部分:

  • Human Readable CID:分解 CID 的每個部分,以便我們人類輕鬆閱讀

  • Multibasecode是基址的識別符號,在這種情況下bbase32

  • Multicodeccode是編解碼器的識別符號,在這種情況下0x70dag-pbIPLD 格式

  • Multihash:將 multihash 分解為所使用的 hash 演算法(18是的程式碼sha2-256)和hash的長度(256 位,等於 32 個位元組)

從“人類可讀 CID ”細分中,我們可以看到,在新增適當的 CIDv1 字首之前,內容的原始雜湊為c3c4733ec8affd06cf9e9ff50ffc6bcd2ec85a6170004bb709669c31de94391a

示例 2:CIDv0

QmbWqxBEKC3P8tqsKc98xmWNzrzDtRLMiMPL8wBuTGsMnR

版本 0 的 CID 顯示了一些不同的結果:multibase和和multicodec均被列為“隱式”。由於版本 0 CID 沒有這些字首,因此始終假定它們分別為base58btcdag-pb

Base32 CIDV1標籤下,我們看到

bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi,它與第一個示例的 CID 相同!CID 檢查器為我們提供了從 CIDv0 到 CIDv1 的轉換。

還請注意,在此 CIDv0 示例中。

“人類可讀 CID”的末尾(字首後面的部分)與 CIDv1 示例中的末尾如何完全相同:c3c4733ec8affd06cf9e9ff50ffc6bcd2ec85a6170004bb709669c31de94391a

為什麼?這兩個 CID 指向相同的內容。基本上,這是

c3c4733ec8affd06cf9e9ff50ffc6bcd2ec85a6170004bb709669c31de94391a在兩個不同版本的 CID 規範中表示的相同的 hash()。

轉換 CID 版本

您可以將 any 轉換CIDv0CIDv1,因為 from 中的隱式字首v0顯式在中v1。但是,由於不CIDv1支援多個編解碼器和多個庫CIDv0,因此並非所有CIDv1都可以轉換為CIDv0。實際上,只有CIDv1具有以下屬性的屬性才能轉換為CIDv0

  • multibase = base58btc

  • multicodec = dag-pb

  • multihash-algorithm = sha2-256

  • multihash-length = 32 (32 個位元組,相當於 256 位)

為了檢驗這一理論,您可以在 IPFS 網路上檢視我們心愛的aardvark映像,網址為:https://ipfs.io/ipfs/QmcRD4wkPPi6dig81r5sLj9Zm1gDCL4zgpEj9CfuRrGbzF

  • 在瀏覽器中開啟連結,然後從 URL 末尾複製 CID

QmcRD4wkPPi6dig81r5sLj9Zm1gDCL4zgpEj9CfuRrGbzF

  • 在新的瀏覽器視窗中,將其貼上到 CID 檢查器工具中,然後找到在螢幕底部顯示的等效 CIDv1 值

  • 返回您的 aardvark 標籤,用原始 URL 中v0的轉換後的v1CID 替換 CID 並重新整理頁面

您應該看到我們的 aardvark 的相同影象。

非常感謝您對 IPFS&Filecoin 專案的持續支援。我們很高興繼續與您一起,為人類資訊建立一個強大的,去中心化和高效的基礎。

免責聲明:

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

推荐阅读

;