星际文件系统是一个点对点的分布式文件系统,以类似Bittorrent的方式存储和检索文件。IPFS的默认安装将您的计算机连接到全球分布式网络。在某些情况下(隐私,保密),私人IPFS网络比连接到公共IPFS网络更好。
这篇文章介绍了在同一个网络中的不同Ubuntu机器上创建一个私有IPFS网络的步骤。确保机器可以互相发出声音。
不会连接到公共网络,因此该专用网络上的所有数据将仅由网络上的已知节点访问。
对于Mac OS,安装步骤几乎一样,只需下载Mac版的Go和IPFS即可。要在Windows上安装Ubuntu,您可以从Microsoft Store安装Ubuntu,并遵循以下步骤。要安装最新版本的IPFS,首先需要从https://golang.尚力财经小编2022org/doc/install.安装Go
下载存档到磁盘。然后将文件解压缩到/usr/local、/usr/local/Go,并使用接下来的示例语句创建Go。将以下语句中的文件名更改为本地文件的名称。
sudo tar-c/usr/local-xzfgo 1 . 11 . 4 . Linux-amd64 . tar . gz
/usr/local/go/bin通过执行以下命令,添加到PATH环境变量:
export PATH=$ PATH:/usr/local/go/bin
并应用更改
source $ home/。简介
IPFS安装
要安装IPFS,请访问30。Io/#Go-IPFS并复制最新Go实现IPFS的链接(见下图)。运行以下命令(使用复制的链接将第3行和第4行更新到最新版本)。sudo apt-get updatewget https://dist.ipfs.io/go-ipfs/v0.4.18/Go-ipfs _ v 0 . 4 . 18 _ Linux-amd64 . tar . gztar xvfzgo-ipfs _ v 0 . 4 . 18 _ Linux-amd64 . tar . gzsudo mv Go-ipfs/ipfs/usr/local/bin/ipfs可选Rm-IPFS _ v 0 . 4 . 18 _ Linux-amd64 . tar . gzrm-r https://www.baoguzi.com/Go-IPFS[x引导节点是一个IPFS节点,其他节点可以连接到该节点,以便找到其他节点。因为我们正在创建我们自己的专用网络,所以我们不能从公共IPFS网络使用引导节点,所以我们稍后将更改这些设置。选择一台机器作为引导节点,另一台机器作为客户机节点。IPFS在用户主目录的隐藏目录中初始化:/.指规数.该目录将用于初始化节点。在启动节点和客户端节点的两台计算机上,运行以下命令。IPFS路径=~/。IPFS ipfs init
结果:
注意:我们使用ipfs _ path=~/。ipfs来强制ipfs连接目录和我们私网的配置文件(和swarm文件,请参考步骤3)。如果您在连接到公共网络的计算机上安装了IPFS,ipfs add语句可能会使用此安装在公共网络上发布文档。如果这次安装是第一次安装ipfs,IPFS路径=~/。IPF可以省略。
第三步:创建私有网络
要生成组密钥,有两种选择:使用bash脚本或安装密钥生成器。
选项1: Bash脚本
在bootnode上运行接下来的代码,并将生成的swarm文件复制到。所有客户端节点的ipfs目录。(注:这适用于Ubuntu,在MacOS上使用选项2。)
echo-e "/key/swarm/PSK/1 . 0 . 0/ n/base 16/ n ` tr-DC ' a-F0-9 '?/.ipfs/swarm.key
选项二:安装密钥生成器
第二个选项是安装组密钥生成器。 如果您已经使用了上面的bash脚本,那么您可以跳过这一节,继续阅读“步骤4:引导IPFS节点”。组密钥生成器仅在引导节点上执行。为了安装组密钥生成器,我们使用go get,它使用git。如果git没有安装在引导节点上,您可以使用它。sudo apt-get install git运行以下命令安装组密钥生成器:goget-ugit hub . com/kubuxu/go-ipfs-swarm-key-gen/ipfs-swarm-key-gen[运行swarm key生成器在。ipfs目录:
将生成的swarm文件复制到。所有客户端节点的ipfs目录。
首先,从引导节点和客户端节点中删除引导节点的默认条目。使用命令:
ipfs _ path=~/。两台计算机上的ipfs ipfs bootstrap RM-all
。检查结果看bootloader是否为空:
ipfs _ path=~/。ipfs ipfs config show
Result:[
您可以使用您找到启动节点的ip地址hostname -I。
对等标识是在IPFS初始化期间创建的,可以通过以下语句找到。
添加bootstrap以下汇编语句。ipfs _ path=~/。ipfs ipfs bootstrap add/ip4//TCP/4001/ipfs/示例:
ipfs _ path=~/。ipfs ipfs引导add/ip4/172.qmalzska 94 tsyekjepylthwarfctwyjwuudbud 4 z 9 kbu在引导节点和客户端节点上运行您的语句。第五步:启动网络
专网已经安装好了,我们可以测试网络了。我们将使用环境变量来确尚力财经小编2022保,如果我们的配置中有错误或者专用网络没有完全配置,节点将不会连接到公共IPFS网络,守护程序将会失败。
同样的环境变量是“LIBP2P_FORCE_PNET”。要启动IPFS节点,只需使用ipfs daemon命令和以下语句启动守护程序。
exportlib P2P _ force _ pnet=1 ipfs _ path=~/。ipfs ipfs daemon
exportlib P2P _ force _ pnet=1表示强制节点为私有。如果未配置专用网络,守护程序将不会启动。
在我们的例子中,命令和输出如下:
请注意,消息日志声明swarm仅限于使用swarm密钥的对等方的私有网络,这意味着我们的私有网络运行正常。现在,在一个节点上将文件添加到我们的专用网络,然后尝试从另一个节点访问该文件。
mkdir ipfstestcd ipfstestecho ' Hello World!'1.文件txtipfs _ path=~/。ipfs ipfs addfile1。txtipfs _ path=~/。ipfs ipfscatResult:此ipfs add语句返回上传文件的哈希代码。您可以使用这个哈希代码从其他节点检索文件。如果同一个文件上传到另一个节点,会生成相同的哈希,所以文件不会在网络上存储两次。
要上传完整的目录,请添加目录名和-r选项(递归)。目录和其中的文件被散列:
尚力财经小编2022
http://127 . 0 . 0 . 1:8080/IPFS/QMFM 2r 8 seh 2 gira C4 estjeraxeach T 8 zsegawtplymog
结果:
本教程在本网络中,所有文档均为本网络参与者的私人和机密信息。
标签: 呈