Back

blockchain - eip, content hash, CID version0, 1, base58 , base 32的概念和相互转换

发布时间: 2022-09-19 00:02:00

EIP:   

refer to: https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1577.md

Ethereum Improvement Propalsal: 以太坊改进提案。 会提出以太坊的各种特性和新功能。

ENS;

refer to: https://ens.domains/

Ethereum Naming Service ,  以太坊命名服务

Content Hash

这个是ENS中的特点,用户可以生成一个ipfs地址并且保存到这里。  0x..... 好多位

例如, bitsofcode.eth 的content hash: 0xe30101701220fb542ce810ffbcfa68c8a64c7825a8408148822051ab959d448553d09c27df25

IPFS CID :  ( Conteng Identifiers )  文本唯一标识。 Base 58: 一种编码,例如btc的地址

refer to: https://docs.filebase.com/ipfs/ipfs-cids

我们在使用IPFS的时候,总会看到这样的东东:

ipfs add CAKE.jpg

=>   QmSkFCXoTamt9fJDxdiRU8EEsvBrT3zw8FFL5zvok2VyyB added

这里的 QmSk ... 就是 Base58的东东,它可以转换成CID。

一个 CID , 分成v0 和 v1两个版本。 例如:

对应上面的   QmSk ... ,它的 CID是 Bafy  .....

Vitalik.eth 的 IPFS CID:  bafybeigsn4u4nv4uyskxhewakk5m2j2lluzhsbsayp76zh7nbqznrxwm7e

借助于 content hash 这个组件: https://content-hash.surge.sh/  我们可以直接转换:

例如对于  bitsofcode.eth:

ipfs 的内容:   QmfFjVBz5wd66kyd89RWkJJiWEMq1Fde3XGN9MBfx47Btp

content hash:    (0x省略)  e30101701220fb542ce810ffbcfa68c8a64c7825a8408148822051ab959d448553d09c27df25

Base58

是一种编码格式,比特币的地址就是这样来的(据说)

ruby , python等语言都有。我就不赘述了。 参考这个ruby 

CID v1, Base58, Base32之间的转换(我没看懂): https://github.com/ipfs/kubo/issues/6220

cid bafk ... 是base32的格式。


Back