初始化IPFS节点(无需在内网寻找相邻节点)

  1. $ipfs init
  2. generating ED25519 keypair...done
  3. peer identity: 12D3KooWHxjUdzdfNydccwGnoiaqY7W2g3MWfZhsSrKbwJxV48V3
  4. initializing IPFS node at /Users/wyb/.ipfs
  5. to get started, enter:
  6. ipfs cat /ipfs/QmQPeNsJPyVWPFDVHb77w8G42Fvo15z4bG2X8D2GhfbSXc/readme
  7. $ipfs id
  8. {
  9. "ID": "12D3KooWHxjUdzdfNydccwGnoiaqY7W2g3MWfZhsSrKbwJxV48V3",
  10. "PublicKey": "CAESIHkCPEoDb2+Vc9n6btIECWWY0Q8LaD/GXoaZAxyaQqcu",
  11. "Addresses": null,
  12. "AgentVersion": "go-ipfs/0.8.0/",
  13. "ProtocolVersion": "ipfs/0.1.0",
  14. "Protocols": null
  15. }

创建共享密钥,同一个IPFS私链内的所有节点必须共享同一个密钥才能加入

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

清除所有缺省启动节点

$ipfs bootstrap rm all
removed /dnsaddr/bootstrap.libp2p.io/p2p/QmNnooDu7bfjPFoTZYxMNLWUQJyrVwtbZg5gBMjTezGAJN
removed /dnsaddr/bootstrap.libp2p.io/p2p/QmQCU2EcMqAqQPR2i9bChDtGNJchTbq5TbXJJ16u19uLTa
removed /dnsaddr/bootstrap.libp2p.io/p2p/QmbLHAnMoJPWSCR5Zhtx6BHJX9KiKNN6tpvbUcqanj75Nb
removed /dnsaddr/bootstrap.libp2p.io/p2p/QmcZf59bWwK5XFi76CZX8cbJ4BhTzzA3gU1ZjYZcYW3dwt
removed /ip4/104.131.131.82/tcp/4001/p2p/QmaCpDMGvV2BGHeYERUEnRQAwe3N8SzbUtfsmvsqQLuvuJ
removed /ip4/104.131.131.82/udp/4001/quic/p2p/QmaCpDMGvV2BGHeYERUEnRQAwe3N8SzbUtfsmvsqQLuvuJ

将 A 创建的 ~/.ipfs/swarm.key 复制到 B 的 ~/.ipfs/swarm.key
在 B 添加 A 为默认节点 (节点地址通过 ipfs id 查看)

$ipfs bootstrap add /ip4/192.168.1.210/tcp/4001/ipfs/QmRBWWrTwd7d1QCKEjcLdGgZAvSKtSNgZdQznzF58RBwZ2

两台虚拟机启动IPFS节点

$ipfs daemon &
Initializing daemon...
go-ipfs version: 0.8.0
Repo version: 11
System version: amd64/darwin
Golang version: go1.15.8
Swarm is limited to private network of peers with the swarm key
Swarm key fingerprint: f6a804240ad3055ea60dd938cb8fa3ce
Swarm listening on /ip4/127.0.0.1/tcp/4001
Swarm listening on /ip4/192.168.40.39/tcp/4001
Swarm listening on /ip6/::1/tcp/4001
Swarm listening on /p2p-circuit
Swarm announcing /ip4/127.0.0.1/tcp/4001
Swarm announcing /ip4/192.168.40.39/tcp/4001
Swarm announcing /ip6/::1/tcp/4001
API server listening on /ip4/127.0.0.1/tcp/5001
WebUI: http://127.0.0.1:5001/webui
Gateway (readonly) server listening on /ip4/127.0.0.1/tcp/8080
Daemon is ready

查看peer

$ipfs swarm peers
#输出日志,成功
/ip4/B_IP/tcp/4001/ipfs/QmRBWWrTwd7d1QCKEjcLdGgZAvSKtSNgZdQznzF58RBwZ2

ipfs/go-ipfs

Kubuxu/go-ipfs-swarm-key-gen

https://hub.docker.com/r/ipfs/go-ipfs

https://docs.ipfs.io/
https://pkg.go.dev/github.com/ipfs/go-ipfs-api

ipfs和ipfs-api安装与使用

IPFS HTTP API 解析

文档计划 | IPFS API参考文档

IPFS 使用入门

go-ipfs-api在项目中的使用

什么是IPFS / IPNS?

ipns实现机制解读

学会通过IPFS在区块链上安全地分享文件!

微信小程序通过ipfs-api 实现图片文件在私有ipfs网络的上传与下载显示

本地构建go-ipfs容器

IPFS:搭建IPFS网络,多服务器

IPFS私链搭建

ipfs私有链环境搭建与java-sdk调用

IPFS搭建私有网络与使用

IPFS私链搭建及常用操作命令

IPFS私有网络集群搭建

IPFS: 私有网络(private network)的搭建与使用

ipfs pin 详解

IPFS私链搭建 原

ipfs命令手册

IPFS常用命令

ipfs常用命令

ipfs常用命令操作(上传下载文件、建立博客、ipns)

IPFS (二)常用指令介绍1

IPFS理论及其操作