当前位置:主页 > 区块链 > 区块链技术 > 搭建IPFS私有网络

手把手教你搭建IPFS私有网络与使用(附IPFS API参考文档)

2021-04-08 14:31:50 | 来源:登链社区 | 作者:佚名
这篇文章主要介绍了手把手教你搭建IPFS私有网络与使用,在联盟链的场景下,IPFS 作为去中心化存储的首选方案,本文将介绍如何使用 go-ipfs 搭建一个私有网络并进行简单使用。下面一起来参考下内容吧!

在联盟链的场景下,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私有网络内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!

免责声明:本文只为提供市场讯息,所有内容及观点仅供参考,不构成投资建议,不代表本站观点和立场。投资者应自行决策与交易,对投资者交易形成的直接或间接损失,作者及本站将不承担任何责任。!
Tag:IPFS   私有网络   区块链  

你可能感兴趣的文章

更多

热门币种

  • 币名
    最新价格
    24H涨幅
  • bitcoin BTC 比特币

    BTC

    比特币

    $ 95136.06¥ 663012.71
    -0.19%
  • ethereum ETH 以太坊

    ETH

    以太坊

    $ 3320.02¥ 23137.55
    +0.5%
  • tether USDT 泰达币

    USDT

    泰达币

    $ 0.9995¥ 6.9656
    -0.01%
  • binance-coin BNB 币安币

    BNB

    币安币

    $ 946.1¥ 6593.46
    +0.34%
  • ripple XRP 瑞波币

    XRP

    瑞波币

    $ 2.0532¥ 14.3089
    -0.43%
  • solana SOL Solana

    SOL

    Solana

    $ 142.22¥ 991.14
    -1.2%
  • usdc USDC USD Coin

    USDC

    USD Coin

    $ 1.0008¥ 6.9746
    +0.07%
  • tron TRX 波场

    TRX

    波场

    $ 0.3161¥ 2.2029
    +0.93%
  • dogecoin DOGE 狗狗币

    DOGE

    狗狗币

    $ 0.137¥ 0.9547
    -0.36%
  • cardano ADA 艾达币

    ADA

    艾达币

    $ 0.3925¥ 2.7353
    -0.71%

币圈快讯

  • 币安:Sentient(SENT)首发认购中每位用户上限为3枚BNB

    2026-01-18 20:47
    币安钱包公布Sentient(SENT)Pre-TGE首发公售详情,在首发认购活动期间,用户可通过BinanceWallet认购SENT代币的分配额度。认购采用超额认购模式,每位用户最多可存入3枚BNB。代币分配将根据所有参与者存入的BNB总量按比例进行。 认购期结束后,用户可在币安钱包内的BNB智能链(BSC)上领取代表其SENT代币分配额的密钥(Key),领取操作需在首发认购活动页面完成。领取密钥时,任何超额存入的BNB将被自动退还。
  • 比特币供应紧缩将至

    2026-01-18 20:42
    据Coin Bureau发推称:自 1 月以来,已有 4 万枚比特币从交易所流出,市场可能面临供应紧缩。
  • 以太坊验证者提现队列降至零质押需求上升

    2026-01-18 20:26
    据EthereumValidatorQueue监测,Ethereum验证者提现队列已降至零,较2025年9月267万枚比特币的峰值大幅回落。同时,入场队列在过去一个月内增长超过五倍,达到260万枚ETH,创2023年7月以来新高。目前入场等待时间已延长至45天,而提现处理仅需数分钟。OnchainFoundation研究主管LeonWaitmann表示,一旦入场队列转化为活跃验证者,质押率将推向历史新高。此外,BitMineImmersionTechnologies已质押超125万枚ETH,占其总持有量三分之一以上。据市场消息显示,目前已有7785万枚ETH存入PoS存款合约,价值2560亿美元,占总供应量46.5%。
  • 4.57亿美元持仓的某巨鲸开仓DASH空单与DOGE多单

    2026-01-18 20:22
    据 Onchain Lens 监测,此前曾售出 255 枚 BTC 的某巨鲸 (0x94d...3814) 已开仓 DASH 的 5 倍杠杆空头头寸,以及 DOGE 的 10 倍杠杆多头头寸。该巨鲸目前仍持有 BTC、ETH 及 SOL 的多头头寸,总价值达 4.57 亿美元,目前浮动亏损为 330 万美元。
  • FIGHT公布FIGHT代币经济学和路线图社区占比57.0%

    2026-01-18 20:16
    UFC 合作伙伴 Fight.ID 的官方加密货币 FIGHT 公布 FIGHT 代币经济学,最大供应量固定为 100 亿枚代币。其中社区占比 57.0%,核心团队占比 15.0%,顾问占比 4.0%,流动性占比 6.5%,投资者占比 17.5%。项目启动时,预计流通供应量约为 20.50%(即 20.5 亿枚 FIGHT),社区部分占总供应量的 15.5%(15.5 亿枚 FIGHT)、流动性部分占总供应量的 5%(5 亿枚 FIGHT),其他所有类别(团队、投资者、顾问等)均已完全锁定。FIGHT 的路线图分为五个阶段,第一阶段(TGE 前至 TGE)为发布排放和治理规范,扩展 Fight.ID 功能,激活 UFC 获取与保留渠道,并完成 UFC Strike 礼品发放;第二阶段(TGE 后)上线质押功能,激活 Prize$Fight 赏金,支持与 UFC 相关合作伙伴的 FIGHT 支付;第三阶段(2026 年第二季度至第四季度)计划三次 UFC Strike 礼品发放,季节性活动提升参与度,并扩展交易所覆盖;第四阶段(2026 年第二季度至第三季度)运动员社区扩展,提供动态红利和福利,以及 FightGear 与 UFC 赛事的结合;第五阶段(2027 年及以后):推出 FightHub,建立互操作网络,整合全球格斗组织,并探索 AR 与 VR 体验。此前消息,Coinbase 于 1 月 17 日将 FIGHT(FIGHT)列入上币路线图。
  • 查看更多