ipfs安裝

環(huán)境:兩臺(tái)Linux電腦
安裝docker侄刽、docker-compose、go環(huán)境
其他:Python3鹊汛、pip蒲赂、make

1、在兩臺(tái)電腦上分別安裝docker柒昏,主機(jī)ip分別為:192.168.229.248凳宙、192.168.229.243

2、從GitHub上下載項(xiàng)目private-network-ipfs-master到software目錄下职祷,并解壓氏涩。

3届囚、安裝make (make命令是GNU的工程化編譯工具,用于編譯眾多相互關(guān)聯(lián)的源代碼問(wèn)價(jià)是尖,以實(shí)現(xiàn)工程化的管理意系,提高開(kāi)發(fā)效率。)

sudo apt-get update
sudo apt-get install ubuntu-make

在有Makefile的目錄下執(zhí)行make up

4饺汹、報(bào)錯(cuò):docker-compose: command not found解決辦法【沒(méi)有安裝docker-compose】
docker的安裝沒(méi)有問(wèn)題蛔添,但在使用 docker-compose的時(shí)候一直提示找不到命令
那這里先升級(jí)一下pip:pip install --upgrade pip

pip下載docker-compose pip install docker-compose

若報(bào)錯(cuò):Python版本不夠

修改默認(rèn)優(yōu)先使用Python3

sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 200

修改默認(rèn)優(yōu)先使用Python2

sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 200
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 100

5、在private-network-ipfs-master目錄下

make up
make up后顯示
進(jìn)入http://192.168.229.248:5001/webui

6兜辞、確保配置IPFS API以允許跨源(CORS)請(qǐng)求

docker exec ipfs_host ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin '["*"]' 
docker exec ipfs_host ipfs config --json API.HTTPHeaders.Access-Control-Allow-Methods '["PUT", "GET", "POST"]'

7迎瞧、生成并分發(fā)一個(gè)共享key,各個(gè)節(jié)點(diǎn)使用同一個(gè)key

執(zhí)行語(yǔ)句從GitHub上下載項(xiàng)目到gopath目錄下(~/go/src/github.com/)

go get -u github.com/Kubuxu/go-ipfs-swarm-key-gen/ipfs-swarm-key-gen

在項(xiàng)目路徑(~/go/src/github.com/Kubuxu/go-ipfs-swarm-key-gen/ipfs-swarm-key-gen)下執(zhí)行

go build

./ipfs-swarm-key-gen > swarm.key

此時(shí)逸吵,項(xiàng)目目錄下生成一個(gè)swarm.key文件凶硅。swarm.key 用來(lái)做私鏈認(rèn)證的密鑰,最終要放在 /ipfs/data 目錄下扫皱。
將此文件拷貝到兩臺(tái)電腦的/ipfs/data目錄下足绅。
8、移除默認(rèn)的boostrap節(jié)點(diǎn)

docker exec ipfs_host ipfs bootstrap rm --all

9韩脑、添加節(jié)點(diǎn)創(chuàng)建網(wǎng)絡(luò)
查看電腦二:192.168.229.244 的節(jié)點(diǎn)信息

docker exec ipfs_host ipfs id
{
    "ID": "12D3KooWEod9tXHHahtjTPc3AoKwZx3QjgzrqNuijigC5bdfHsBP",
    "PublicKey": "CAESIEoZzDY45ijnylgzPvSONU7mLOc44yEGmoMLW0gZONRC",
    "Addresses": [
        "/ip4/127.0.0.1/tcp/4001/p2p/12D3KooWEod9tXHHahtjTPc3AoKwZx3QjgzrqNuijigC5bdfHsBP",
        "/ip4/172.18.0.2/tcp/4001/p2p/12D3KooWEod9tXHHahtjTPc3AoKwZx3QjgzrqNuijigC5bdfHsBP"
    ],
    "AgentVersion": "go-ipfs/0.7.0/ea77213",
    "ProtocolVersion": "ipfs/0.1.0",
    "Protocols": [
        "/ipfs/bitswap",
        "/ipfs/bitswap/1.0.0",
        "/ipfs/bitswap/1.1.0",
        "/ipfs/bitswap/1.2.0",
        "/ipfs/id/1.0.0",
        "/ipfs/id/push/1.0.0",
        "/ipfs/lan/kad/1.0.0",
        "/ipfs/ping/1.0.0",
        "/libp2p/autonat/1.0.0",
        "/libp2p/circuit/relay/0.1.0",
        "/p2p/id/delta/1.0.0",
        "/x/"
    ]
}

在電腦一(192.168.229.248) 添加電腦二(192.168.229.244)的節(jié)點(diǎn)ID

docker exec ipfs_host ipfs bootstrap add /ip4/192.168.1.244/tcp/4001/ipfs/12D3KooWEod9tXHHahtjTPc3AoKwZx3QjgzrqNuijigC5bdfHsBP

10氢妈、重啟兩臺(tái)電腦的 ipfs_host 服務(wù)

docker restart ipfs_host

11、查看鄰居

docker exec ipfs_host ipfs swarm peers

結(jié)果

/ip4/192.168.229.248/tcp/4001/p2p/12D3KooWMU9v2VQYSFt9K5forXKr4mQkjUrKTzZN8i4FXbZWkmUz

12段多、測(cè)試
(1)在 192.168.229.244 節(jié)點(diǎn) 添加文件

docker exec ipfs_host ipfs add /data/ipfs/version
 2 B / 2 B  100.00%added QmaHbbushv2gYBUyofdm853cy1HTcNuinqagCfMjMdGmNw version

(2)在 192.168.1.246 節(jié)點(diǎn) 用哈希值讀取該文件

docker exec ipfs_host ipfs cat QmaHbbushv2gYBUyofdm853cy1HTcNuinqagCfMjMdGmNw
10

12首量、附錄
(1)查看運(yùn)行日志

docker logs -f ipfs_host

(2)停止容器

docker stop ipfs_host

(3)刪除容器

docker rm ipfs_host

(4)重啟容器

docker restart ipfs_host

(5)運(yùn)行 IPFS 命令

docker exec ipfs_host <ipfs cmd>

13、使用192.168.229.248:5001/api/v0/add 添加文件

  • 注:從瀏覽器地址欄輸入url進(jìn)行的是http的get請(qǐng)求衩匣,而不是http post請(qǐng)求蕾总。
    會(huì)報(bào)405 - Method Not Allowed錯(cuò)誤
    如果想進(jìn)行http post 請(qǐng)求,需要postman工具軟件琅捏。
postman

參考教程:https://github.com/Sitoi/private-network-ipfs

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末生百,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子柄延,更是在濱河造成了極大的恐慌蚀浆,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,265評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件搜吧,死亡現(xiàn)場(chǎng)離奇詭異市俊,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)滤奈,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門摆昧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人蜒程,你說(shuō)我怎么就攤上這事绅你∷帕保” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 156,852評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵忌锯,是天一觀的道長(zhǎng)伪嫁。 經(jīng)常有香客問(wèn)我,道長(zhǎng)偶垮,這世上最難降的妖魔是什么张咳? 我笑而不...
    開(kāi)封第一講書人閱讀 56,408評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮似舵,結(jié)果婚禮上脚猾,老公的妹妹穿的比我還像新娘。我一直安慰自己啄枕,他們只是感情好婚陪,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著频祝,像睡著了一般。 火紅的嫁衣襯著肌膚如雪脆淹。 梳的紋絲不亂的頭發(fā)上常空,一...
    開(kāi)封第一講書人閱讀 49,772評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音盖溺,去河邊找鬼漓糙。 笑死,一個(gè)胖子當(dāng)著我的面吹牛烘嘱,可吹牛的內(nèi)容都是我干的昆禽。 我是一名探鬼主播,決...
    沈念sama閱讀 38,921評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼蝇庭,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼醉鳖!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起哮内,我...
    開(kāi)封第一講書人閱讀 37,688評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤盗棵,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后北发,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體纹因,經(jīng)...
    沈念sama閱讀 44,130評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評(píng)論 2 325
  • 正文 我和宋清朗相戀三年琳拨,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了瞭恰。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,617評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡狱庇,死狀恐怖惊畏,靈堂內(nèi)的尸體忽然破棺而出恶耽,到底是詐尸還是另有隱情,我是刑警寧澤陕截,帶...
    沈念sama閱讀 34,276評(píng)論 4 329
  • 正文 年R本政府宣布驳棱,位于F島的核電站,受9級(jí)特大地震影響农曲,放射性物質(zhì)發(fā)生泄漏社搅。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評(píng)論 3 312
  • 文/蒙蒙 一乳规、第九天 我趴在偏房一處隱蔽的房頂上張望形葬。 院中可真熱鬧,春花似錦暮的、人聲如沸笙以。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,740評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)猖腕。三九已至,卻和暖如春恨闪,著一層夾襖步出監(jiān)牢的瞬間倘感,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,967評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工咙咽, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留老玛,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,315評(píng)論 2 360
  • 正文 我出身青樓钧敞,卻偏偏與公主長(zhǎng)得像蜡豹,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子溉苛,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容