手把手教你搭建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私有网络内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!
你可能感兴趣的文章
-
OK链安全可靠吗?怎么样?如何为OK链代币添加流动性并定价?
OK链是一个旨在实现高性能、低成本和跨链互操作的Layer1区块链,致力于构建一个开放、互操作的Web3生态系统,OK链的核心业务是提供链上数据分析、合规工具和区块链浏览器,那…
2025-10-07 -
如何参与Reagent空投?免费领取Reagent空投代币步骤教程
Regent是一款5v5第一人称射击游戏,专注于Web3环境中激烈的团队战斗,Reagent空投为加密货币爱好者和竞技游戏玩家提供了25,000美元的奖金池,那么,如何参与Reagent空投?下…
2025-10-04 -
以太坊网络上的 gas 费是多少?如何降低与计算 gas 费?一文介绍
以太坊的 Gas 费是用户在进行链上交易和调用智能合约时支付的计算和存储成本,它既反映了网络的资源使用情况,也决定了交易能否顺利执行,Gas 的价格由基础费用和优先费组成…
2025-09-30 -
什么是加密货币交易费用?加密货币转账交易费最低的五个个网络盘点
对于当今的加密货币投资者来说,了解哪个网络的加密货币转账手续费最低至关重要,手续费是直接影响加密货币转账成本的因素之一,许多投资者倾向于使用手续费最低的网络进行转…
2025-09-30 -
Solana链上如何发币?基于Solana的最全一键发币教程
随着SOL代币价格的不断上涨,Solana生态再度成为热点,那么,Solana链上如何发币?下文将为大家详解基于Solana的最全一键发币教程…
2025-09-30 -
如何克隆代币?教你用PandaTool克隆Solana代币完整指南
代币克隆指的是创建一个与目标代币一模一样的代币,正常我们创建Solana代币,需要手动输入代币的名称、数量、头像等,比较麻烦一点,如果你想复制一个别人的币,通过克隆工…
2025-09-30 -
Hyperliquid (HYPE) 现货 ETF 是什么?何时推出?风险、投资介绍
Hyperliquid在 DeFi 领域的崛起现正迈向华尔街的策略,Bitwise 已向美国 SEC 提交 S-1 文档,旨在推出首档现货 Hyperliquid (HYPE) ETF,该基金将直接持有 HYPE 代币,并允…
2025-09-30 -
代币销毁 VS 重新分配:谁是更健康的选择?一文详解
当经济价值直接影响系统安全性时,重新分配比销毁更能维持系统健康并保障机制合理性,本文小编给大家分析了代币销毁和重新分配,谁是更健康的选择,需要的朋友可以参考下…
2025-09-30 -
什么是 NEAR 协议?Nightshade 分片、AI 融合与区块链扩展深度解析
NEAR 协议是一条第三代的权益证明(Proof-of-Stake)区块链,专门为了解决早期公链的扩展性瓶颈而诞生,它采用了名为 Nightshade 的独特分片技术,能同时在多条平行链上处理…
2025-09-30 -
TON链一键发币手把手教程(全网最详细TON发币教程)
TON全称为The Open Network,是一条为数十亿用户设计的去中心化的第一层公链,具有可扩展性和可分片性能,在TON爆发式增长的背景下,越来越多的用户开始寻求在TON链上发币的…
2025-09-30










