手把手教你搭建IPFS私有网络与使用(附IPFS API参考文档)
在联盟链的场景下,IPFS 作为去中心化存储的首选方案,本文将介绍如何使用go-ipfs搭建一个私有网络并进行简单使用。
我的环境
由于资源限制,我这里使用docker来搭建一个两个节点的 IPFS 私有网络。如果有条件可以直接在多台机器或者多个虚拟机上安装。
开始搭建
1、生成 swarm.key
swarm.key 是一个共享密钥,只有拥有相同密钥的节点才能互相通信,组成一个私钥网络。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 节点 1 目录。
- /Users/sixdays/tmp/ipfs/node2 是我 ipfs 节点 2 目录。
2、启动节点
运行节点 1 和节点 2
// 运行节点 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 // 运行节点 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
清除所有缺省启动节点 bootstrap
docker exec ipfs_node_1 ipfs bootstrap rm all docker exec ipfs_node_2 ipfs bootstrap rm all
查看节点 id
docker exec ipfs_node_1 ipfs id docker exec ipfs_node_2 ipfs id
这里,我节点 1 的 Id 是 :
12D3KooWEVo8FqH8YUT1noXvca5hgSRWBRcDQomEcFY2zXwA7dbw
节点 1 的 address 是:
/ip4/172.17.0.3/tcp/4001/p2p/12D3KooWEVo8FqH8YUT1noXvca5hgSRWBRcDQomEcFY2zXwA7dbw
节点 2 的 Id 是
12D3KooWRcx6gpbsbvb6YiNsDpJgnmNHFCgCiUmVF42o4zn2W5Pj
节点 2 的 address 是
/ip4/172.17.0.4/tcp/4001/p2p/12D3KooWRcx6gpbsbvb6YiNsDpJgnmNHFCgCiUmVF42o4zn2W5Pj
节点的 address 我用的是 docker 给分配的 ip 地址。
添加节点 id
在节点 1 中添加节点 2 地址
docker exec ipfs_node_1 ipfs bootstrap add /ip4/172.17.0.4/tcp/4001/p2p/12D3KooWRcx6gpbsbvb6YiNsDpJgnmNHFCgCiUmVF42o4zn2W5Pj
在节点 2 中添加节点 1 地址
docker exec ipfs_node_1 ipfs bootstrap add /ip4/172.17.0.3/tcp/4001/p2p/12D3KooWEVo8FqH8YUT1noXvca5hgSRWBRcDQomEcFY2zXwA7dbw
至此,我们 2 个节点的 IPFS 私有网络已搭建完成。
用一下
使用命令
docker exec ipfs_node_1 ipfs -h
可以看到 IPFS 的基础命令。
添加文件 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 上传的文件内容。
下载文件 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 对应我们主机目录为 /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参考文档
到此这篇关于手把手教你搭建IPFS私有网络与使用(附IPFS API参考文档)的文章就介绍到这了,更多相关搭建IPFS私有网络内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!
你可能感兴趣的文章
-
Tronscan(波场浏览器)是什么以及功能与使用指南
TronScan 是波场(TRON)区块链的官方权威区块浏览器与综合交互平台,提供链上数据查询、资产钱包管理、智能合约验证、治理投票及代币发行等一站式服务,这篇文章介绍Trons…
2026-07-31 -
美股休市时间怎么查?2026年纽交所、纳斯达克休市日历解析
本文基于纽交所与纳斯达克官方公告,系统解答了美股休市时间怎么查这一核心问题,文章提供三类查询路径完整列出2026年10个休市日和2个提前收盘日的具体日期与规则,并特别提…
2026-07-31 -
加密收入持续下滑,Robinhood 如何突围?HOOD 值得关注吗?
2026 年 Q2 Robinhood 总营收同比增长 23.6%,但加密收入同比大跌 47.8%,连续两季度近乎腰斩,公司靠股票、期权、预测市场完成业务多元化转型,估值显著高于 Coinbase,同…
2026-07-30 -
目前哪些预测市场交易量最大?一文详解
加密市场行情持续承压,预测市场交易逆势升温,受世界杯催化,行业 6 月总交易额环比大涨 75%,Kalshi 交易量遥遥领先,与 Polymarket 合计占据超九成流动性,体育交易为核心…
2026-07-29 -
预测市场系统分析:什么是预测市场?全球最大的预测市场是谁?
本文系统解析预测市场的定义、运作逻辑与爆发式增长,2026年月交易量已突破257亿美元,通过对比Polymarket与Kalshi的交易数据、用户规模与商业模式,揭示全球最大预测市场的…
2026-07-29 -
Ondo上线Ondo Network:Ondo Network是什么、工作原理及未来发展方向
7月27日,Ondo推出 Ondo Network,新一代金融市场的执行层,本文解释了Ondo Network是什么,以及它为什么是现在这个样子,需要的朋友可以参考下…
2026-07-28 -
2026年最佳加密货币投资组合追踪器:十大加密货币投资组合追踪器对比
谁是最好的加密货币投资组合追 踪器?拥有一个好的加密货币投资组合追 踪器是一件非常重要的事情,老手新人该如何选择加密货币投资组合追 踪器呢?下面咱们对比各大主流工…
2026-07-28 -
2026 DeFi新手必读指南:10大热门平台评比与安全操作指南
在2026年,选择一个可靠的DeFi平台是最大化收益并确保资产安全的关键第一步,这篇文章是专为投资者设计的全方位指南,将为你完整解析DeFi 平台是什么、有哪些核心类型,并提…
2026-07-28 -
Lighter vs Hyperliquid 2026完整比较:Perps、费用、代币及安全性
想知道哪个去中心化交易所更适合您的交易策略?Lighter提供零费用、zk证明的永续合约交易,而Hyperliquid则以自有Layer1处理海量交易量并代币化资产,本文将带大家了解两者…
2026-07-28 -
预测市场如何定价美联储加息动作?利率预期形成机制深度解析
美联储议息前夕出现罕见预期分化:经济学家一致看维稳,预测市场定价加息概率走高,本文对比联邦基金期货与加密预测市场定价机制,厘清预期分歧成因,分析驱动加息预期上行…
2026-07-27

繁體中文