IPFS: 私有网络(private network)的搭建与使用

IPFS指南
IPFS指南 得得号

May 11, 2018 飞向未来(董天一)公众号《IPFS指南》作者

摘要: 本文主要介绍了关于IPFS的私有网络是如何搭建与使用的,并且对私有网络的数据传输情况进行了测试。

原创声明:
本文为 《IPFS指南》原创,作者:飞向未来

最近ipfs终于更新了新版本0.4.14。大家可以测试起来。

之前就有不少朋友问题来过,ipfs是否支持私有网络?

答案是:支持

今天小编就带大家来看看ipfs的私有网络是如何搭建、使用的?

小编有意测试一下私有网络的数据传输情况,毕竟ipfs也更新了新的版本。所以使用了一个本地节点(小编的Mac笔记本)和3个亚马逊的aws节点。

如果还不知道如何安装IPFS节点的朋友,参照这篇文章《如何在IPFS里面上传一张照片》里面的内容。

一 环境准备

A:本地节点(Mac)

      IP:动态IP

      ipfs 节点ID:QmTrRNgt6M9syRq8ZqM4o92Fgh6avK8v862n2QZLyDPywY

B:亚马逊AWS

      IP:13.230.162.124

      ipfs节点:QmRQH6TCCq1zpmjdPKg2m7BrbVvkJ4UwnNHWD6ANLqrdws

C:亚马逊AWS

      IP:13.231.247.2

      ipfs 节点:QmTTEkgUpZJypqw2fXKagxFxxhvoNsqfs5YJ9zHLBoEE29

D:亚马逊AWS

      IP:13.114.30.87

      ipfs节点:Qmc2AH2MkZtwa11LcpHGE8zW4noQrn6xue7VcZCMNYTpuP

二 共享密钥

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

首先我们使用密钥创建工具,创建一个密钥。

下载地址:https://github.com/Kubuxu/go-ipfs-swarm-key-gen
该工具的安装下载使用go。不会安装的朋友自行Google,本文不在讲解。

      go get -u github.com/Kubuxu/go-ipfs-swarm-key-gen/ipfs-swarm-key-gen
然后创建密钥:

      ipfs-swarm-key-gen > ~/.ipfs/swarm.key
注意:小编创建完密钥放在了自己的ipfs默认配置文件夹下面(~/.ipfs/)

三 上传密钥到B,C,D的节点上面

小编直接使用了scp上传到了其他三台亚马逊的服务器上面:

      scp -i ss-server.pem ~/.ipfs/swarm.key ubuntu@13.114.30.87:~/.ipfs/

      scp -i ss-server.pem ~/.ipfs/swarm.key ubuntu@13.230.162.124:~/.ipfs/

      scp -i ss-server.pem ~/.ipfs/swarm.key ubuntu@13.231.247.2:~/.ipfs/

由于小编的亚马逊服务器ipfs节点初始化的时候都是采用的默认设置(ipfs init)

所以把密钥放到 ~/.ipfs/ 这个文件夹下面就可以了。

四 添加启动节点

ipfs init后的默认启动节点是连接ipfs公网的节点,如果要连接私有网络

在每一个节点执行下面的操作,删除掉所有的默认启动节点。

      ipfs bootstrap rm —all
然后添加一个自己的默认节点(私有网络中的一个节点),默认节点可以是A,B,C,D中的任何一个。

我们选取了D节点作为启动节点,在A,B,C节点执行下面的操作,把D节点的地址添加到A,B,C节点里面。

      ipfs bootstrap add/ip4/13.114.30.87/tcp/4001/ipfs/Qmc2AH2MkZtwa11LcpHGE8zW4noQrn6xue7VcZCMNYTpuP
五 启动并查看各个节点

A节点:

B节点:

C:节点

D: 节点

我们发现四个节点相互链接在了一起,这就是我们私有ipfs网络。小编测试的过程中发现四个节点的链接非常的快速,即便是本地节点(北京的家庭网络)和东京区域的AWS网络之间的连接也非常的快,IPFS的网络连通性依然还是这么优秀。

下面我在私有网络里面做一些简单的测试:

我们在本地节点A上面数据:

      tt-3:Downloads tt$ ipfs add Brave-0.20.42.dmg

      added QmbZ7NWHbP5edCF4BvSvfW97MdpZhcwZ3WJTp3Cd3od9Vg Brave-0.20.42.dmg
在其他几个节点下载数据:

      ubuntu@ip-172-31-26-222:~/ipfs$ ipfs get QmbZ7NWHbP5edCF4BvSvfW97MdpZhcwZ3WJTp3Cd3od9Vg

      Saving file(s) to QmbZ7NWHbP5edCF4BvSvfW97MdpZhcwZ3WJTp3Cd3od9Vg

      149.80 MB / 149.80 MB [=======================================] 100.00% 2m58
      ubuntu@ip-172-31-18-30:~$ ipfs get QmbZ7NWHbP5edCF4BvSvfW97MdpZhcwZ3WJTp3Cd3od9Vg

      Saving file(s) to QmbZ7NWHbP5edCF4BvSvfW97MdpZhcwZ3WJTp3Cd3od9Vg

      149.80 MB / 149.80 MB [=======================================] 100.00% 2m58s
      ubuntu@ip-172-31-16-152:~$ ipfs get QmbZ7NWHbP5edCF4BvSvfW97MdpZhcwZ3WJTp3Cd3od9Vg

      Saving file(s) to QmbZ7NWHbP5edCF4BvSvfW97MdpZhcwZ3WJTp3Cd3od9Vg

      149.80 MB / 149.80 MB [=========================================] 100.00% 2s

从上面的测试可以看出来,小编首先在本地节点(Mac)上面add了文件 QmbZ7NWHbP5edCF4BvSvfW97MdpZhcwZ3WJTp3Cd3od9Vg。

然后在亚马逊的机子(位于日本东京区域)进行文件下载。150M的文件在前两个节点上面下载使用了 2分58秒。而在第三个节点上下载仅仅使用了2秒。

如果配合上之前《IPFS家族二》介绍的ipfs-cluster,更方便的管理这些私有网络的集群数据。对于一些大型企业内部的数据分发和加速会有很好的应用。 

欢迎广大的开发者能够基于这样的特性做出来优秀的应用

(本文来自得得号:IPFS指南,作者:飞向未来)

链得得仅提供相关信息展示,不构成任何投资建议
本文系作者 IPFS指南 授权链得得发表,并经链得得编辑,转载请注明出处、作者和本文链接

更多精彩内容,关注链得得微信号(ID:ChainDD),或者下载链得得App

分享到:

相关推荐

    评论(3

    • IPFS指南 IPFS指南   回复  东少
      回复
      0

      哈哈哈。。

      May 13, 2018 via iphone
      • 东少 天一老师的文必须要第一时间关注
        May 11, 2018 via iphone
        回复
        2
    • IPFS指南 IPFS指南   回复  东少
      回复
      0

      ????

      May 13, 2018 via iphone
      • 东少 天一老师的文必须要第一时间关注
        May 11, 2018 via iphone
        回复
        2
    • 东少 东少
      回复
      2

      天一老师的文必须要第一时间关注

      May 11, 2018 via iphone

    Oh! no

    您是否确认要删除该条评论吗?

    分享到微信