手把手教你搭建IPFS私有網(wǎng)絡(luò)與使用(附IPFS API參考文檔)
在聯(lián)盟鏈的場(chǎng)景下,IPFS 作為去中心化存儲(chǔ)的首選方案,本文將介紹如何使用go-ipfs搭建一個(gè)私有網(wǎng)絡(luò)并進(jìn)行簡(jiǎn)單使用。
我的環(huán)境
由于資源限制,我這里使用docker來搭建一個(gè)兩個(gè)節(jié)點(diǎn)的 IPFS 私有網(wǎng)絡(luò)。如果有條件可以直接在多臺(tái)機(jī)器或者多個(gè)虛擬機(jī)上安裝。
開始搭建
1、生成 swarm.key
swarm.key 是一個(gè)共享密鑰,只有擁有相同密鑰的節(jié)點(diǎn)才能互相通信,組成一個(gè)私鑰網(wǎng)絡(luò)。swarm.key 可以使用 工具 生成,工具的安裝命令是:
go get -u github.com/Kubuxu/go-ipfs-swarm-key-gen/ipfs-swarm-key-gen
安裝完成后,生成 swarm.key,命令是:
ipfs-swarm-key-gen > /Users/sixdays/tmp/ipfs/swarm.key
其中
- /Users/sixdays/tmp/ipfs/ 目錄是我 ipfs 目錄。
- /Users/sixdays/tmp/ipfs/node1 是我 ipfs 節(jié)點(diǎn) 1 目錄。
- /Users/sixdays/tmp/ipfs/node2 是我 ipfs 節(jié)點(diǎn) 2 目錄。
2、啟動(dòng)節(jié)點(diǎn)
運(yùn)行節(jié)點(diǎn) 1 和節(jié)點(diǎn) 2
// 運(yùn)行節(jié)點(diǎn) 1 docker run -d --name ipfs_node_1 -e IPFS_SWARM_KEY_FILE=/Users/sixdays/tmp/ipfs/swarm.key -v /Users/sixdays/tmp/ipfs/node1/staging:/export -v /Users/sixdays/tmp/ipfs/node1/data:/data/ipfs -p 4001:4001 -p 4001:4001/udp -p 127.0.0.1:8080:8080 -p 127.0.0.1:5001:5001 ipfs/go-ipfs:latest // 運(yùn)行節(jié)點(diǎn) 2 docker run -d --name ipfs_node_2 -e IPFS_SWARM_KEY_FILE=/Users/sixdays/tmp/ipfs/swarm.key -v /Users/sixdays/tmp/ipfs/node2/staging:/export -v /Users/sixdays/tmp/ipfs/node2/data:/data/ipfs -p 4002:4001 -p 4002:4001/udp -p 127.0.0.1:8081:8080 -p 127.0.0.1:5002:5001 ipfs/go-ipfs:latest
清除所有缺省啟動(dòng)節(jié)點(diǎn) bootstrap
docker exec ipfs_node_1 ipfs bootstrap rm all docker exec ipfs_node_2 ipfs bootstrap rm all
查看節(jié)點(diǎn) id
docker exec ipfs_node_1 ipfs id docker exec ipfs_node_2 ipfs id
這里,我節(jié)點(diǎn) 1 的 Id 是 :
12D3KooWEVo8FqH8YUT1noXvca5hgSRWBRcDQomEcFY2zXwA7dbw
節(jié)點(diǎn) 1 的 address 是:
/ip4/172.17.0.3/tcp/4001/p2p/12D3KooWEVo8FqH8YUT1noXvca5hgSRWBRcDQomEcFY2zXwA7dbw
節(jié)點(diǎn) 2 的 Id 是
12D3KooWRcx6gpbsbvb6YiNsDpJgnmNHFCgCiUmVF42o4zn2W5Pj
節(jié)點(diǎn) 2 的 address 是
/ip4/172.17.0.4/tcp/4001/p2p/12D3KooWRcx6gpbsbvb6YiNsDpJgnmNHFCgCiUmVF42o4zn2W5Pj
節(jié)點(diǎn)的 address 我用的是 docker 給分配的 ip 地址。
添加節(jié)點(diǎn) id
在節(jié)點(diǎn) 1 中添加節(jié)點(diǎn) 2 地址
docker exec ipfs_node_1 ipfs bootstrap add /ip4/172.17.0.4/tcp/4001/p2p/12D3KooWRcx6gpbsbvb6YiNsDpJgnmNHFCgCiUmVF42o4zn2W5Pj
在節(jié)點(diǎn) 2 中添加節(jié)點(diǎn) 1 地址
docker exec ipfs_node_1 ipfs bootstrap add /ip4/172.17.0.3/tcp/4001/p2p/12D3KooWEVo8FqH8YUT1noXvca5hgSRWBRcDQomEcFY2zXwA7dbw
至此,我們 2 個(gè)節(jié)點(diǎn)的 IPFS 私有網(wǎng)絡(luò)已搭建完成。
用一下
使用命令
docker exec ipfs_node_1 ipfs -h
可以看到 IPFS 的基礎(chǔ)命令。
添加文件 add
$ docker exec ipfs_node_1 ipfs add /data/ipfs/swarm.key added QmRitSEMhFJtNhLYtwGRJvhDrTTT4gQLjuLepZjo9C8a2X swarm.key
其中 :
- /data/ipfs/swarm.key 為 ipfs_node_1 容器的目錄。
- QmRitSEMhFJtNhLYtwGRJvhDrTTT4gQLjuLepZjo9C8a2X 為文件 hash
查看文件 cat
$ docker exec ipfs_node_2 ipfs cat QmRitSEMhFJtNhLYtwGRJvhDrTTT4gQLjuLepZjo9C8a2X /key/swarm/psk/1.0.0/ /base16/ 5b9941085678c502b44cc98e2614dd648cb801115dcb6acee8e83d9bf8cf454c
可以看到我們可以在 node2 中查看到 node1 上傳的文件內(nèi)容。
下載文件 get
$ docker exec ipfs_node_2 ipfs get QmRitSEMhFJtNhLYtwGRJvhDrTTT4gQLjuLepZjo9C8a2X -o /data/ipfs/test.key Saving file(s) to /data/ipfs/test.key 95 B / 95 B 100.00% 0s
其中 -o 表示輸出目錄,docker 容器中的 /data/ipfs 對(duì)應(yīng)我們主機(jī)目錄為 /Users/sixdays/tmp/ipfs/node2/data
查看文件列表 ls
$ docker exec ipfs_node_2 ipfs pin ls QmQ5vhrL7uv6tuoN9KeVBwd4PwfQkXdVVmDLUZuTNxqgvm indirect QmU5k7ter3RdjZXu3sHghsga1UQtrztnQxmTL22nPnsu3g indirect QmYCvbfNbCwFR45HiNP45rwJgvatpiW38D961L5qAhUM5Y indirect QmejvEPop4D7YUadeGqYWmZxHhLc4JBUCzJJHWMzdcMe2y indirect QmPZ9gcCEpqKTo6aq61g2nXGUhM4iCL3ewB6LDXZCtioEB indirect QmQGiYLVAdSHJQKYFRTJZMG4BXBHqKperaZtyKGmCRLmsF indirect QmQPeNsJPyVWPFDVHb77w8G42Fvo15z4bG2X8D2GhfbSXc recursive QmQy6xmJhrcC5QLboAcGFcAE1tC8CrwDVkrHdEYJkLscrQ indirect QmUNLLsPACCz1vLxQVkXqqLX5R1X345qqfHbsf67hvA3Nn recursive
其中 recursive 表示文件夾,indirect 表示文件
參考:IPFS API參考文檔
到此這篇關(guān)于手把手教你搭建IPFS私有網(wǎng)絡(luò)與使用(附IPFS API參考文檔)的文章就介紹到這了,更多相關(guān)搭建IPFS私有網(wǎng)絡(luò)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!
你可能感興趣的文章
-
虛擬貨幣怎么玩?虛擬貨幣賺錢的15種方法詳解
虛擬貨幣作為一個(gè)新興市場(chǎng),存在許多機(jī)會(huì),這是眾所周知的,然而,許多人把虛擬貨幣投資等同于交易,其實(shí)并不是,交易只是虛擬貨幣玩法的一種,還有許多其他的虛擬貨幣投資方…
2025-07-24 -
虛擬貨幣排名,值得推薦的虛擬貨幣有哪些?虛擬貨幣如何選擇?
在目前各類金融資產(chǎn)異常波動(dòng)的情況下,除黃金外,虛擬貨幣也成了越來越多人投資避險(xiǎn)的選擇,畢竟它的保密性、流動(dòng)性都是更方便的,是資產(chǎn)配置中不可忽視的標(biāo)的,但虛擬貨幣…
2025-07-24 -
GameFi是什么?有哪些項(xiàng)目類型?2025熱門GameFi項(xiàng)目盤點(diǎn)
GameFi意思是用區(qū)塊鏈技術(shù)把游戲中的虛擬寶物、游戲貨幣轉(zhuǎn)成NFT和加密貨幣,讓人可以在加密貨幣交易所自由交易,本文將介紹GameFi是什么,有哪些項(xiàng)目類型、優(yōu)點(diǎn)、缺點(diǎn)以及目…
2025-07-24 -
如何使用ChatGPT 和Grok AI 分析鏈上數(shù)據(jù)、鯨魚動(dòng)向?一文解析
在加密貨幣領(lǐng)域,速度不僅是優(yōu)勢(shì),它是生存的關(guān)鍵, 有個(gè)問題:當(dāng)技術(shù)指標(biāo)如相對(duì)強(qiáng)弱指數(shù)(RSI)或移動(dòng)平均匯聚擴(kuò)散(MACD)反應(yīng)過來時(shí),鯨魚已經(jīng)撤退了,那么,如何使用ChatGPT …
2025-07-24 -
一文速覽加密牛市周期:本輪牛市何時(shí)結(jié)束?
加密市場(chǎng)似乎正進(jìn)入活躍增長(zhǎng)階段,比特幣價(jià)格上揚(yáng),帶動(dòng)了整個(gè)加密市場(chǎng)的上漲,但每位投資者都會(huì)問一個(gè)問題:牛市何時(shí)結(jié)束,何時(shí)鎖定利潤(rùn)?或許市場(chǎng)周期和流動(dòng)性層級(jí)可以提供…
2025-07-24 -
什么是流動(dòng)性質(zhì)押代幣?如何運(yùn)作?新手指南
隨著加密貨幣生態(tài)系統(tǒng)的不斷發(fā)展,新的金融工具正在改變交易者賺取收益和參與區(qū)塊鏈安全的方式,流動(dòng)性質(zhì)押代幣 (LST) 就是其中一項(xiàng)創(chuàng)新,它為那些希望在不鎖定資產(chǎn)的情況下…
2025-07-24 -
2025年最適合使用的Memecoin Launchpad有哪些?最佳Memecoin Launchpad
最佳的 memecoin 發(fā)行平臺(tái)正在改變 2025 年 meme 代幣的上線方式,使創(chuàng)作者無需任何編程技能即可發(fā)行代幣,并最大限度地提升社區(qū)影響力,在本指南中,我們將探索 2025 年最…
2025-07-23 -
流動(dòng)性挖礦和質(zhì)押挖礦有什么不同?之間的區(qū)別和聯(lián)系介紹
流動(dòng)性挖礦和質(zhì)押挖礦是兩種常見的加密貨幣挖礦方式,它們雖然都涉及通過鎖定加密資產(chǎn)來獲得獎(jiǎng)勵(lì),但其操作機(jī)制、目的和收益方式有所不同,下文將為大家詳細(xì)介紹流動(dòng)性挖礦…
2025-07-23 -
2025年中心化交易所的加密貨幣流動(dòng)性五大亮點(diǎn)
流動(dòng)性已成為衡量加密資產(chǎn)的關(guān)鍵指標(biāo),它不僅影響著交易的便捷性,還影響著波動(dòng)性、滑點(diǎn)以及機(jī)構(gòu)吸引力,本報(bào)告探討了領(lǐng)先的中心化交易所的交易深度,重點(diǎn)關(guān)注窄幅價(jià)格區(qū)間,以…
2025-07-22 -
什么是鏈?鏈?zhǔn)窃趺催\(yùn)作的?區(qū)塊鏈網(wǎng)絡(luò)的全面介紹
在快速發(fā)展的加密貨幣和去中心化金融世界中,理解什么是鏈——通常簡(jiǎn)單地稱為“鏈”或區(qū)塊鏈網(wǎng)絡(luò)——是基礎(chǔ),無論你是在跟蹤下一個(gè)空投、探索加密市場(chǎng),還是深入了解區(qū)塊鏈…
2025-07-22