ipfs 节点搭建 linux,IPFS集群搭建记录

1 下载go-ipfs

wget https://github.com/ipfs/go-ipfs/releases/download/v0.4.17/go-ipfs_v0.4.17_linux-amd64.tar.gz

2 解压

[root@blockchain42 ipfs]# tar -zxvf go-ipfs_v0.4.17_linux-amd64.tar.gz

go-ipfs/build-log

go-ipfs/install.sh

go-ipfs/ipfs

go-ipfs/LICENSE

go-ipfs/README.md

3 执行insatll.sh

[root@blockchain42 ipfs]# cd go-ipfs

[root@blockchain42 go-ipfs]# ./install.sh

Moved ./ipfs to /usr/local/bin

4 执行ipfs命令验证ipfs

[root@blockchain42 go-ipfs]# ipfs

SUBCOMMANDS

BASIC COMMANDS

init Initialize ipfs local configuration

add Add a file to IPFS

cat Show IPFS object data

get Download IPFS objects

ls List links from an object

refs List hashes of links from an object

DATA STRUCTURE COMMANDS

block Interact with raw blocks in the datastore

object Interact with raw dag nodes

files Interact with objects as if they were a unix filesystem

dag Interact with IPLD documents (experimental)

ADVANCED COMMANDS

daemon Start a long-running daemon process

mount Mount an IPFS read-only mountpoint

resolve Resolve any type of name

name Publish and resolve IPNS names

key Create and list IPNS name keypairs

dns Resolve DNS links

pin Pin objects to local storage

repo Manipulate the IPFS repository

stats Various operational stats

p2p Libp2p stream mounting

filestore Manage the filestore (experimental)

NETWORK COMMANDS

id Show info about IPFS peers

bootstrap Add or remove bootstrap peers

swarm Manage connections to the p2p network

dht Query the DHT for values or peers

ping Measure the latency of a connection

diag Print diagnostics

TOOL COMMANDS

config Manage configuration

version Show ipfs version information

update Download and apply go-ipfs updates

commands List all available commands

Use 'ipfs --help' to learn more about each command.

ipfs uses a repository in the local file system. By default, the repo is

located at ~/.ipfs. To change the repo location, set the $IPFS_PATH

environment variable:

export IPFS_PATH=/path/to/ipfsrepo

EXIT STATUS

The CLI will exit with one of the following values:

0 Successful execution.

1 Failed executions.

5 创建data, export目录

[root@blockchain42 ipfs]# mkdir data

[root@blockchain42 ipfs]# mkdir export

6 设置ipfs_path

[root@blockchain42 ipfs]# export IPFS_PATH=/data/ipfs/data

7 初始化ipfs

[root@blockchain42 ipfs]# ipfs init

initializing IPFS node at /data/ipfs/data

generating 2048-bit RSA keypair...done

peer identity: Qmcu1qxojgYV84hfRvvUBBLQzDLKka7kaAu8PUZi4DJziE

to get started, enter:

ipfs cat /ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv/readme

8 修改配置文件

[root@blockchain42 data]# cd data

[root@blockchain42 data]# vim config

删除Bootstrap中的内容防止链接外部节点

"Bootstrap": [

"/dnsaddr/bootstrap.libp2p.io/ipfs/QmNnooDu7bfjPFoTZYxMNLWUQJyrVwtbZg5gBMjTezGAJN",

"/dnsaddr/bootstrap.libp2p.io/ipfs/QmQCU2EcMqAqQPR2i9bChDtGNJchTbq5TbXJJ16u19uLTa",

"/dnsaddr/bootstrap.libp2p.io/ipfs/QmbLHAnMoJPWSCR5Zhtx6BHJX9KiKNN6tpvbUcqanj75Nb",

"/dnsaddr/bootstrap.libp2p.io/ipfs/QmcZf59bWwK5XFi76CZX8cbJ4BhTzzA3gU1ZjYZcYW3dwt",

"/ip4/104.131.131.82/tcp/4001/ipfs/QmaCpDMGvV2BGHeYERUEnRQAwe3N8SzbUtfsmvsqQLuvuJ",

"/ip4/104.236.179.241/tcp/4001/ipfs/QmSoLPppuBtQSGwKDZT2M73ULpjvfd3aZ6ha4oFGL1KrGM",

"/ip4/128.199.219.111/tcp/4001/ipfs/QmSoLSafTMBsPKadTEgaXctDQVcqN88CNLHXMkTNwMKPnu",

"/ip4/104.236.76.40/tcp/4001/ipfs/QmSoLV4Bbm51jM9C4gDYZQ9Cy3U6aXMJDAbzgu2fzaDs64",

"/ip4/178.62.158.247/tcp/4001/ipfs/QmSoLer265NRgSp2LA3dPaeykiS1J6DifTC88f5uVQKNAd",

"/ip6/2604:a880:1:20::203:d001/tcp/4001/ipfs/QmSoLPppuBtQSGwKDZT2M73ULpjvfd3aZ6ha4oFGL1KrGM",

"/ip6/2400:6180:0:d0::151:6001/tcp/4001/ipfs/QmSoLSafTMBsPKadTEgaXctDQVcqN88CNLHXMkTNwMKPnu",

"/ip6/2604:a880:800:10::4a:5001/tcp/4001/ipfs/QmSoLV4Bbm51jM9C4gDYZQ9Cy3U6aXMJDAbzgu2fzaDs64",

"/ip6/2a03:b0c0:0:1010::23:1001/tcp/4001/ipfs/QmSoLer265NRgSp2LA3dPaeykiS1J6DifTC88f5uVQKNAd"

],

9 设置ipfs_staging 和 ipfs_data

[root@blockchain42 data1]# export ipfs_staging=/data/ipfs/export

[root@blockchain42 data1]# export ipfs_data=/data/ipfs/data

10 docker 启动

[root@blockchain42 data1]# docker run -d --name ipfs_host --restart="always" --privileged=true -v $ipfs_staging:/export -v $ipfs_data:/data/ipfs -p 4001:4001 -p 127.0.0.1:8080:8080 -p 5001:5001 ipfs/go-ipfs:latest

Unable to find image 'ipfs/go-ipfs:latest' locally

latest: Pulling from ipfs/go-ipfs

5497949500d2: Pull complete

9cfd2e6d2b64: Pull complete

8167893b973a: Pull complete

0f61f69d653d: Pull complete

8a98c133507f: Pull complete

e9bc9df9b0ba: Pull complete

b5b58acfc7ee: Pull complete

385a82e0ccbb: Pull complete

Digest: sha256:31cc5713ef3e3e81bf868cbb56c19de2d15d661743d8b6077804dee26e929ac5

Status: Downloaded newer image for ipfs/go-ipfs:latest

WARNING: IPv4 forwarding is disabled. Networking will not work.

e48224ac7e15ed3aab532b6a79d6077ab376a5a84c6a66b1f2444b0779271322

10.1 查看是否启动成功

[root@blockchain42 data1]# docker logs -f ipfs_host1

Changing user to ipfs

ipfs version 0.4.15

Found IPFS fs-repo at /data/ipfs

Initializing daemon...

Swarm listening on /ip4/127.0.0.1/tcp/4001

Swarm listening on /ip4/172.17.0.6/tcp/4001

Swarm listening on /p2p-circuit/ipfs/QmdafoEj6roToSiACimBxUhgdTa46gNfsfsNEKcqY8A6oP

Swarm announcing /ip4/127.0.0.1/tcp/4001

Swarm announcing /ip4/172.17.0.6/tcp/4001

API server listening on /ip4/127.0.0.1/tcp/5001

Gateway (readonly) server listening on /ip4/127.0.0.1/tcp/8080

Daemon is ready

到这单节点ipfs安装启动完成、

以相同的步骤在另一台机器上在部署一套

10.2 查看节点信息

[root@blockchain40 ~]# docker exec ipfs_host ipfs swarm peers

/ip4/172.17.0.3/tcp/4001/ipfs/QmUjD1DQwxfSVkac12mK74ozhe34eoxX7DoJTFev2NemFd

或者查看ipfs id

[root@blockchain40 ~]# docker exec ipfs_host ipfs id

{

"ID": "QmUdmCCbmt5cQzPZST7U5ceaVdoCiHe2ZpxHopce5gFoXp",

"PublicKey": "CAASpgIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC1u+LC40JsmMVMemNiRu7n9OEaiJDSh78WWgqzER3KuuUrBJDyO7FW/UG4jtT2hoPLpsfZtw0LsPO+LNQY6Je78AMYB6It0bQ9yLLI8crpYhIrPXdL9MxYi6E+ITiyz+64SVLlDbW/7q5xvMLr2jfQHTxrmBhkkULfqX0unBR3tm9AnhfN1Gwi+xrAYw1aZmN53cj2h12oWFZzLgd9XmWQtx5+32U+qECCfqQ9JnQVSy8LGKis3ZlgHSIg0m7upc3h7p/RQU1QWW4NHdW3KvSMB6QSIufUSc+rQ4rIz5QdWAv+iuXp89l2mialJbJ5sCHqyL6vCo/OHgkDPPOYlyx5AgMBAAE=",

"Addresses": [

"/ip4/127.0.0.1/tcp/4001/ipfs/QmUdmCCbmt5cQzPZST7U5ceaVdoCiHe2ZpxHopce5gFoXp",

"/ip4/172.17.0.2/tcp/4001/ipfs/QmUdmCCbmt5cQzPZST7U5ceaVdoCiHe2ZpxHopce5gFoXp"

],

"AgentVersion": "go-ipfs/0.4.15/",

"ProtocolVersion": "ipfs/0.1.0"

}

10.3修改链接ip

/ip4/10.19.0.40/tcp/4001/ipfs/QmUdmCCbmt5cQzPZST7U5ceaVdoCiHe2ZpxHopce5gFoXp

10.4添加peer

[root@blockchain42 ~]# docker exec ipfs_host ipfs swarm connect /ip4/10.19.0.40/tcp/4001/ipfs/QmUdmCCbmt5cQzPZST7U5ceaVdoCiHe2ZpxHopce5gFoXp

connect QmUdmCCbmt5cQzPZST7U5ceaVdoCiHe2ZpxHopce5gFoXp success

11 测试

[root@blockchain40 export]# docker exec ipfs_host ipfs add /export/yangxing

added QmaKK2vxX4bGzXrnxdCuGBCBx6RAmez6TGtVXxE4c5QDst yangxing

[root@blockchain42 ~]# docker exec ipfs_host ipfs cat QmaKK2vxX4bGzXrnxdCuGBCBx6RAmez6TGtVXxE4c5QDst

asydfklsajdflkjsaldfjks

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值