ipfs私有網絡搭建準備工作:
- 準備IPFS節點
- 創建密鑰
- 配置私有網絡地址。
- 將 ipfs 作爲服務運行
一、準備IPFS節點。
本人測試的使用的3臺臨時阿里雲服務器,系統爲centos7.2,使用後已刪除ECS實例
下載 ipfs 官網鏈接:安裝教程
wget https://github.com/ipfs/go-ipfs/releases/download/v0.5.0/go-ipfs_v0.5.0_linux-amd64.tar.gz
tar -xvzf go-ipfs_v0.5.0_linux-amd64.tar.gz
cd go-ipfs
sudo bash install.sh
ipfs --version
執行初始化命令
ipfs init
默認會在當前登錄用戶文件夾下生成隱藏文件夾,如:/root/.ipfs
節點1:121.89.212.121
節點2:121.89.209.222
節點3:121.89.195.9
二、創建密鑰
安裝 go 環境:
yum install go -y
在節點1上生成密鑰,並將其放在其他的服務器上
下載密鑰生成工具:地址
執行以下命令:
git clone https://github.com/Kubuxu/go-ipfs-swarm-key-gen.git
go build -o ipfs-swarm-key-gen go-ipfs-swarm-key-gen/ipfs-swarm-key-gen/main.go
./ipfs-swarm-key-gen > swarm.key
將該文件拷貝到 /root/.ipfs 下,並同步到 節點2 和 節點3 的 /root/.ipfs 下,以加入同一私有網絡
三、配置私有網絡地址
- 所有節點上,刪除默認配置的ipfs網關:
ipfs bootstrap rm all
- 選擇 節點1 作爲默認節點,通過
ipfs id
獲取節點ID,並在 節點2、節點3 執行此命令:ipfs bootstrap add /ip4/默認節點的IP地址/tcp/4001/ipfs/默認節點的ID。如:
ipfs bootstrap add /ip4/121.89.212.121/tcp/4001/ipfs/QmNNAUAuoZPKB2FarMR1TVAkpjuZMcLPj3DttVN4DYXjvq
使用 ipfs swarm peers 查看私有網絡內節點
PS:由於默認使用的是 4001 端口,如果配置了防火牆,需要把這個端口打開。 -
節點1:
節點2:
節點3:
如果通過 ipfs swarm peers 查看不到任意節點,可嘗試檢查防火牆
或 通過在任意節點上傳一個文件,在其他節點訪問,測試能否訪問成功
四、將IPFS作爲服務後臺運行
cd /lib/systemd/system
vi ipfs.service
插入以下:
[Unit]
Description=IPFS
[Service]
ExecStart=/usr/local/bin/ipfs daemon
Restart=always
User=root
Group=root
[Install]
WantedBy=multi-user.target
啓用服務:systemctl enable ipfs.service
systemctl start ipfs.service
systemctl stop ipfs.service
以上,配置完成
參考地址:
https://www.jianshu.com/p/cf70c5bc81ae
https://zhuanlan.zhihu.com/p/35141862
https://docs-beta.ipfs.io/how-to/command-line-quick-start/#install-ipfs