手把手教你搭建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私有网络内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!
你可能感兴趣的文章
-
如何在2026年选择安全可靠的DeFi协议?DeFi协议选择指南
没有任何一份检查清单能保证 DeFi 平台绝对安全,我们能做的,是先筛掉风险最高的劣质项目,别被收益率、品牌背书、社交媒体热度带偏判断,本文就给大家介绍了如何在 2026 …
2026-05-08 -
什么是TradFi?TradFi与DeFi的深度对比及未来展望
在全球金融体系中,传统金融(TradFi)长期以来扮演着不可或缺的角色,本文深入探讨TradFi的定义、核心特征、运作原理、与DeFi的显著差异、局限性以及未来发展趋势,帮助读…
2026-05-07 -
BNB Chain上排名前十的RWA项目测评:聚焦Skynet的顶尖安全评级
在 2024-2025 年期间,分散经济的许多部门都面临着大幅萎缩,而现实世界资产 (RWA) 则成为了稳定的堡垒,下面我们就来简单测评一下BNB Chain上排名前十的RWA项目吧…
2026-05-07 -
Tether挖矿观察:软件、硬件与金融的全链条布局
Tether,这个以稳定币著称的加密金融巨头,正在将触角伸向比特币挖矿领域,Tether正在将挖矿、金融服务和比特币储备管理联系起来,以更系统化的方式参与比特币生态,下面小编…
2026-05-06 -
从 RWA 到 AI Agent:HashKey Chain 如何构建下一代链上金融基础设施?
HashKeyChain提出了下一代链上金融基础设施的概念,针对RWA和AI经济的需求进行设计,包括制度层、金融层和智能经济基础设施三层架构,其白皮书详细阐述了如何为传统资产提供链…
2026-05-02 -
2026年加密货币新手入门指南:常见的加密货币有哪些?在哪里查看行情?
本文面向2026年区块链新人,系统梳理了当前市场格局,详解了三大加密货币类型并配有最新数据与观点,最后推荐CoinMarketCap、TradingView等行情工具,助新人快速建立认知框…
2026-05-01 -
2026年5月五大空投前瞻:Base、MetaMask 与 LayerZero 成市场焦点
本文汇总了2026年5月加密市场五大空投,重点聚焦Base、MetaMask与LayerZero三大核心项目,梳理其空投相关动态与市场关注度,为投资者提供简洁的空投方向参考,其中三大项目…
2026-04-30 -
如何参与MegaETH奥德赛活动?MegaETH奥德赛活动参与指南
MegaETH 于今日启动 TGE,并开启为期8周的Terminal奥德赛活动,将空投总供应量2.5%的代币,用户需通过交互、提供流动性等方式获取积分,最终根据排名获得奖励,本文给大家介…
2026-04-30 -
什么是加密货币的代币经济模型?有何影响?一文详解代币经济学模型及要素
这个加密货币还会不会涨?现在价格是相对低点吗,如果你有这些疑问,可以先从它的代币经济模型开始研究,下面我们就来和大家详细介绍一下代币经济模型是什么、有哪些要素值…
2026-04-30 -
什么是链上转账?USDT和USDC的费用哪个更便宜?
在加密货币的世界里,转账费用是用户常常关注的一个重要问题,USDT(Tether)和USDC(USD Coin)作为目前市场上最主流的两种稳定币,经常被用于转账和支付,那么,在币安链(…
2026-04-29










