手把手教你搭建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私有网络内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!
你可能感兴趣的文章
-
Hook Summer 来了!Uniswap V4 Hook是什么?uPEG/SATO怎么玩?
Hook 是 Uniswap V4 的可进程化插件,让开发者在交易池的关键动作(swap、加减流动性、初始化)前后插入自订逻辑,等于把 DEX 变成DeFi 乐高底盘,下面我们就来看看Uniswap …
2026-05-13 -
链上数据工具有哪些?靠谱吗?详细测评哪款更适合你
随着DeFi应用的爆发与NFT市场的多元化,链上数据规模呈指数级增长,分析难度也随之提升,目前,市场已涌现出多款成熟的分析利器接下来小编为大家详细测评一下链上数据工具…
2026-05-13 -
Bitget IPO Prime第二期:为什么是OpenAI?
,在 Bitget IPO Prime,我们致力于将门槛降到极致,让普通用户也能参与到顶级 Pre-IPO 资产的盛宴中,我们选择 OpenAI 作为第二期标的,绝非偶然,而是基于对市场、技术和价…
2026-05-12 -
Base生态投资机会分析方法 2026年最新投资策略
本文将为大家分享Base生态的投资机会分析方法,从数据、产品、宏观三个维度深度剖析Base链,发现潜在20倍收益机会,包括Meme币、DeFi项目和NFT游戏赛道的具体2026年最新投资…
2026-05-12 -
内存暴涨后,AI产业链的哪个板块最值得押注?
过去两年,美股 AI 产业链相关板块累计创造了数万亿美元市值,然而新增的市场体量分布极其不均,钱究竟流向了哪里,10 年后会流向哪里?本文给大家介绍了AI产业链的哪个板块…
2026-05-12 -
什么是Zest Protocol?如何利用Zest Protocol安全赚取收益和使用比特币
Zest Protocol 是一个专门为比特币生态设计的顶级去中心化金融(DeFi)协议,该项目旨在将比特币从“被动资产”转变为流动性和生产性资本来源,允许用户完全在链上进行借贷…
2026-05-12 -
2026年十大最快区块链TPS排行榜:速度重塑Web3生态
进入2026年,区块链技术已从早期的扩容之争进入了高性能实际应用时代,高TPS与极快的最终确认时间相结合,使得去中心化应用能够实现与Web2相媲美的用户体验,基于2026年初的…
2026-05-12 -
HIP-4到底是什么?Hyperliquid如何通过HIP-4改写预测市场?
Hyperliquid 于 2026 年 5 月 2 日在主网上激活了 HIP-4,时间正好是在 Polymarket 推出 CLOB V2 并迁移至 $pUSD 的四天后,本文将深入解析这一机制:每个组成部分的作用是…
2026-05-11 -
PBS是什么意思?为什么以太坊需要PBS?
提议者-构建者分离(PBS)是将构建区块和提议区块这两大核心职能分派给不同角色的机制,通过专业分工应对高价值交易排序带来的中心化风险,它是当前以太坊升级路线图中最核心…
2026-05-11 -
DePIN是什么?如何挖矿?4大热门DePIN赛道及项目介绍
本文为大家详细介绍DePIN是什么、如何通过DePIN挖矿,以及有哪些热门的DePIN赛道与项目,通过币安交易所查询或交易DePIN相关加密货币,大家可以轻松参与DePIN板块下的代币交…
2026-05-11










