参考: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. 关于gc中对象回收算法的认识

    之前学习java时,笔者看到很多学习资料说,gc判断object存活与否的算法是:给对象添加一个引用计数器,每当有一处地方引用它时,计数器值就加1,当引用失效时,计数器值就减1,当对象计数清零时,对象 ...

  2. Unity3D事件函数的执行顺序

    In Unity scripting, there are a number of event functions that get executed in a predetermined order ...

  3. Java中String常用方法总结

    package cn.zhang.Array; /** * String类的一些常用方法 * @author 张涛 * */ public class TestString { public stat ...

  4. vector内部的实现1

    写vector的内部方法 #include<vector> using std::vector; //写一个动态内存 class CA{ int a; public: CA(int i){ ...

  5. python——print函数

    .print()函数概述 print() 方法用于打印输出,是python中最常见的一个函数. 该函数的语法如下: print(*objects, sep=' ', end='\n', file=sy ...

  6. c语言删除文件的指定行,更新文件

    有时候我们需要删除文件的某一行,来更新文件,在这我个人扩展了一个函数,以删除指定条件的行. static void UpdateHistoryFile(void) { FILE *fin,*fout; ...

  7. goweb-处理静态资源

    处理静态文件 对于 HTML 页面中的 css 以及 js 等静态文件,需要使用使用 net/http 包下的以下 方法来处理 1) StripPrefix 函数 2) FileServer 函数 3 ...

  8. 如何保存Keras模型

    我们不推荐使用pickle或cPickle来保存Keras模型 你可以使用model.save(filepath)将Keras模型和权重保存在一个HDF5文件中,该文件将包含: 模型的结构,以便重构该 ...

  9. 吴裕雄--天生自然TensorFlow高层封装:解决ImportError: cannot import name 'tf_utils'

    将原来版本的keras卸载了,再安装2.1.5版本的keras就可以了.

  10. TPO3-1 Architecture

    Even development in architecture has been the result of major technological changes. Materials and m ...