IPFS 命令示例

0. 準備


下載 IPFS 最新 Release 版 v0.4.23,解壓放入某 $PATH 下,這裏放在一個零時目錄下。

version=v0.4.23
platform="$(uname -s | tr '[:upper:]' '[:lower:]')-$(if [[ $(uname -m) == 'x86_64' ]]; then echo amd64; else echo 386; fi)"
curl -L -O "https://github.com/ipfs/go-ipfs/releases/download/${version}/go-ipfs_${version}_${platform}.tar.gz"
tar zxf go-ipfs_${version}_${platform}.tar.gz
export PATH=$(pwd)/go-ipfs:$PATH
ipfs version
ipfs version 0.4.23

初始化倉庫

ipfs init
initializing IPFS node at /Users/xxx/.ipfs
generating 2048-bit RSA keypair...done
peer identity: Qmc...KU
to get started, enter:

	ipfs cat /ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv/readme

啓動 IPFS Daemon

ipfs daemon &

1. IPLD 測試


數據文件如下
bar.json

{
    "name": "bar",
    "hello": "world"
}
ipfs dag put bar.json
bafyreiby2qsza5rib7r5tg5l5womhdza5mhhs4dm5fl4yimpgym5mnmni4

foo.json

{
    "foo":"foobar",
    "bar": {"/":"bafyreiby2qsza5rib7r5tg5l5womhdza5mhhs4dm5fl4yimpgym5mnmni4"}
}
ipfs dag put foo.json
bafyreihqv4bepuvxvz4mpxeusfbrase7o7celwhba7fyhyp4gi2ngb5wqm

測試以下命令觀察輸出去

ipfs dag get bafyreihqv4bepuvxvz4mpxeusfbrase7o7celwhba7fyhyp4gi2ngb5wqm
ipfs dag get bafyreihqv4bepuvxvz4mpxeusfbrase7o7celwhba7fyhyp4gi2ngb5wqm/foo
ipfs dag get bafyreihqv4bepuvxvz4mpxeusfbrase7o7celwhba7fyhyp4gi2ngb5wqm/bar
ipfs dag get bafyreihqv4bepuvxvz4mpxeusfbrase7o7celwhba7fyhyp4gi2ngb5wqm/bar/name

打開 Webui, 由於內容是存放在 IPFS 網絡裏的,首次打開會觸發下載,下載時間視網絡情況而定。

2. IPNS 測試


ipfs add foo.json
added QmRU7LLztHCp3ZaEYxLSndnVc9BWft8WX2McHQPkvfQH25 foo.json
 103 B / 103 B [===========================================================================] 100.00

打開 Gateway 查看

修改 foo.json

{
    "foo":"foobar",
    "bar": {"/":"bafyreiby2qsza5rib7r5tg5l5womhdza5mhhs4dm5fl4yimpgym5mnmni4"},
    "version": "v0.4.23"
}
ipfs add foo.json
added QmduzMdye3WmYzQEyjJPQBDvUioRezbyCQddhMm4TdK9Hg foo.json
 129 B / 129 B [==========================================================================] 100.00%

由於 IPFS 是基於內容尋址,內容修改了,CID 一定是會變化的 QmduzMdye3WmYzQEyjJPQBDvUioRezbyCQddhMm4TdK9Hg

使用 IPNS

ipfs name publish QmduzMdye3WmYzQEyjJPQBDvUioRezbyCQddhMm4TdK9Hg
Published to QmcRTwzNNWkt3KzDn2ed8RgM9Y3iAfYX7ezoj7DQjk5NKU: /ipfs/QmduzMdye3WmYzQEyjJPQBDvUioRezbyCQddhMm4TdK9Hg

這裏默認會使用你的IPFS ID來發布,通過 /ipns/<id> 來訪問,通過網關訪問 IPNS

現在只要內容更新了,重新發布一下就可以了,就能通過原來的 /ipns/ 路徑訪問

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章