参考:https://mp.weixin.qq.com/s/IKcXAjcX_BxI4siBeVsJUw

测试环境

节点A、B、C为局域网内三台部署了IPFS的节点,A为win7,B为Redhat Linux,C为Ubuntu系统。

私有网络所有的节点必须共享同一个密钥,注意不要忘记这一点。

搭建步骤

1、生成密钥:

密钥生成工具的安装下载使用go,假设已经准备好go环境。在go工程目录下执行如下三个命令:

go get -u github.com/Kubuxu/go-ipfs-swarm-key-gen/ipfs-swarm-key-gen  //下载密钥生成工具源码

go build github.com/Kubuxu/go-ipfs-swarm-key-gen/ipfs-swarm-key-gen/main.go  //编译得到main.exe

main.exe > swarm.key  //执行得到密钥文件swarm.key

将密钥文件swarm.key分别拷贝到A、B、C节点的配置目录~/.ipfs/下,swarm.key内容如下:

2、添加启动节点

ipfs init后的默认启动节点是连接ipfs公网的节点,如果要连接私有网络,需在每一个节点删除原来的默认启动节点,然后增加私有网络的启动节点。

ipfs bootstrap rm --all  //删除所有原启动节点

在A、B、C节点中分别设置启动节点,可以是A、B、C中任何一个,最好选择拥有固定IP的节点。

ipfs bootstrap add /ip4/[A的IP]/tcp/4001/ipfs/QmUpwjfX6gedCEeh6ncRfshXnDuwSbvZh1uXpriMy1kFnH

设置完成后,启动ipfs节点(ipfs daemon),查看修改后的bootstrap如下:

3、查看各节点连接情况

A节点:

B节点:

C节点:

我们发现三个节点相互链接在了一起,这就是搭建好的私有ipfs网络。其他IPFS节点必须拥有相同的swarm.key文件才能加入这个私有网络。

4、下载速度测试

使用地图瓦片文件做测试,瓦片在A节点发布,在B节点获取该Z15文件夹耗时4m3s。

B节点下载完成后在C节点获取该文件夹,耗时12s。

这是由于C节点会从A、B节点同时获取Z15文件夹所需要的文件,IPFS将文件分块存储,A、B可同时提供各文件块,单个大文件会被拆分为多个二进制块。

IPFS私有网络搭建总结的更多相关文章

  1. 利用 Docker 搭建 IPFS 私有网络

    利用 Docker 搭建 IPFS 私有网络 本文原始地址:https://sitoi.cn/posts/40630.html 下载项目 项目地址:https://github.com/Sitoi/p ...

  2. HCL实验8:NAT搭建私有网络

    NAT 通过NAT技术,进行私有网络的搭建 拓扑图 先对路由器的端口进行配置 R1 [H3C]sys R1 [R1]INT G0/0 [R1-GigabitEthernet0/0]ip address ...

  3. IPFS私链搭建及常用操作命令

    1. 共享密钥 同一个IPFS私链内的所有节点必须共享同一个密钥才能加入. 首先我们使用密钥创建工具,创建一个密钥. 下载地址:https://github.com/Kubuxu/go-ipfs-sw ...

  4. openstack通过Network Namespace和iptables实现租户私有网络互訪和L3路由功能

    安装架构介绍 本文旨在通过自己搭建类似neutron (openvswitch + gre) 实现SDN 的环境,学习了解其工作原理,模拟核心原理.比方:同一租户自己定义网络 instance 互通, ...

  5. 私有网络(VPC)概述

    1 什么是私有网络(VPC) 私有网络是一块可用户自定义的网络空间,您可以在私有网络内部署云主机.负载均衡.数据库.Nosql快存储等云服务资源.您可自由划分网段.制定路由策略.私有网络可以配置公网网 ...

  6. UCloud 机房的网络搭建(计蒜客初赛第五场)

    UCloud 刚刚建立一个新机房,近日正在进行网络搭建.机房内有 nn 台服务器和 mm 个分线器,整个机房只有一个网线出口.分线器的作用是将一根网线转换成多根网线.蒜头君也知道每个分线器输出的最大网 ...

  7. OpenStack 网络服务 Neutron 私有网络构建(十九)

    本章内容基于之前提供者网络构建的基础上进行改动,之前文章参考如下: Openstack 网络服务 Neutron介绍和控制节点部署 (九) Openstack 网络服务 Neutron计算节点部署(十 ...

  8. Virtual Private Cloud 专有网络 软件定义网络的方式 私有网络 大流量视频、直播类业务

    私有网络 VPC_云上网络空间_自定义网络 - 腾讯云 https://cloud.tencent.com/product/vpc 私有网络 VPC 简介 私有网络(Virtual Private C ...

  9. linux私有ftp搭建与创建新用户

    一.私有ftp搭建 以后补充 1. 搭建 2.修改配置文件 二.创建新用户 在linux搭建好私有ftp后,默认存放目录是 /var/ftp/ 我们有时候需要给外部公司之类的用,但又不想让他们直接在  ...

随机推荐

  1. LeetCode——787. K 站中转内最便宜的航班

    有 n 个城市通过 m 个航班连接.每个航班都从城市 u 开始,以价格 w 抵达 v. 现在给定所有的城市和航班,以及出发城市 src 和目的地 dst,你的任务是找到从 src 到 dst 最多经过 ...

  2. Kattis dragonball1 Dragon Ball I(最短路)

    There is a legendary tale about Dragon Balls on Planet X: if one collects seven Dragon Balls, the Dr ...

  3. JS—DOM操作

    节点分为三类: 1.元素节点:标签<div></div> 2.文本节点:标签内的纯文本. 3.属性节点:标签内的属性,id或class 查找元素: getElementById ...

  4. Python dict 和 list 转换

    这里有个dict d1 = { 'en':'英语', 'cn':'中文', 'fr':'法语', 'jp':'日语' } 使用d1.keys()或 d1.values() 可以提取出values 和k ...

  5. GitHub 中 readme 如何添加图片

    一.Readme 是什么 readme文件一般是放在github 每个repo的根目录下,用来解释.说明本repo的主要内容和相关信息.而且在repo主页进去的时候会被自动加载.一般采用md标记的文本 ...

  6. [转载]markown语法

    目录 Cmd Markdown 公式指导手册 一.公式使用参考 1.如何插入公式 2.如何输入上下标 3.如何输入括号和分隔符 4.如何输入分数 5.如何输入开方 6.如何输入省略号 7.如何输入矢量 ...

  7. Angular ng-container ng-template 用法

    ng-container本身不创建任何html代码,相当于一个容器. <ng-container *ngFor="let item of dataSource;let i=index& ...

  8. MySQL出现错误1030-Got error 28 from storage engine

    磁盘空间不足引起的!1030-Got error 28 from storage engine df -h 清理空间

  9. 项目课 day02.1

    JWT - json-web-token json.dumps(d,separators = (',' , ':')) separators:分隔符,键值对之间  ,相连, jwt.encode({' ...

  10. 4)模板输出方法和 fetch总结

    (1)fetch函数虽然在我们定义的controller中使用,但是它并不属于Controller.php文件,它属于View.php文件,因为我们的每一个控制器继承了Controller.php文件 ...