位置:丁香财经网 >> 货币平台

IPFS分布式文件系统(教学)

2023年06月18日 06:55

欧易okx交易所下载

欧易交易所又称欧易OKX,是世界领先的数字资产交易所,主要面向全球用户提供比特币、莱特币、以太币等数字资产的现货和衍生品交易服务,通过使用区块链技术为全球交易者提供高级金融服务。

APP下载   官网注册

IPFS是一个分布式文件零碎,中文翻译为星际文件零碎,名字听起来很酷炫很科幻。在IPFS这个文件系统中,文件被储具有由网络上很多节点所组成的IPFS系统。每一个文件都可以被计算出独一的Hash值,其中透过DHT算法可以在众多的网络节点上中止定位,概念就像一大堆文件分布在一大堆节点中,取文件的时分透过DHT快速找到文件的位置中止存取。这样的机制其实曾经有很干练的实践,像是下载文件常用的BitTorrent,也是一样的义务原理。

在IPFS中,没方法保证传下去的文件永世都可以被取得,概念就跟BT种子死亡的意义一样,一旦整个网络没有了任何一个节点有这个文件的正本(Cache),那么你即使有了Hash也无法取得文件方式。为了处置这个效果,在区块链2017最大的ICO项目Filecoin就是透过数字货币奖励来供养这些提供Filecoin IPFS网络的节点,好让文件在分布式文件系统中可以被完整(永世!?)保管。固然Filecoin底层运用了IPFS,但是Filecoin运用的DHT网络与IPFS公用网络是不同的,Filecoin未来有研讨再分享了。

我们先看看怎样玩吧!这里能够下载不同作业系统版本的IPFS主程式,这里测试的环境是Ubuntu 64,解紧缩后直接装置,如下:

1

2

3

4

5

6

7

wget

tar -zxvf go-ipfs_v0.4.17_linux-amd64.tar.gz

cd go-ipfs

sudo

cd ..

rm go-ipfs_v0.4.17_linux-amd64.tar.gz

rm -rf go-ipfs

初始化IPFS

ipfs init

init 之后会在Home 树立一个.ipfs 目录,并且放置IPFS 相关文件与Cache,如下:

输入「ipfs id」可以显现IPFS Node 相关资讯,包括每一个Node 独一的Peer ID,如下:

我们先尝试树立一个文件,透过ipfa add 放进IPFS 文件系统中(又是Hello World):

echo 'hello world!' >

my-file.txt

ipfs add my-file.txt

实施ipfs add 后我们可以取得文件在IPFS 中的Object Hash,如上图「QmeV1kwh3333bsnT6YRfdCRrSgUPngKmAhhTa4RrqYPbKT」,这个File Hash 在IPFS 网络中是独一的,而且相对不会重复,假定重复,你可以再做一次(跟重开机的概念一样)。接下去我们可以透过ipfs cat 获得这个文件的方式,如下:

ipfs cat QmeV1kwh3333bsnT6YRfdCRrSgUPngKmAhhTa4RrqYPbKT

在没有连上IPFS 公用网络以前,文件就只是具有自己的cache 中,假定其他节点想要透过取得Hash 取得文件,是行不通的。要让其他节点取得方式,必需连先上IPFS网络,连上公用IPFS 命令如下:

ipfs daemon

发起后可以封锁阅读器输入」,点击左边的「Connections」可以出现一个很炫的介面,会显现整个银河系(星际)中所实施的节点,显现的当下有796个节点。如下:

我们到另一台IPFS Node,这是一个ARM Base 的环境,先透过tmux 封锁两个画面,一个输出「ipfs daemon」连上DHT 网络,另一个用来操作。我们尝试在另一个节点透过IPFS 抓前面刚刚新增的文件,如下:

ipfs cat QmeV1kwh3333bsnT6YRfdCRrSgUPngKmAhhTa4RrqYPbKT

画面显现hello world! 文件形式,如下:

看起来IPFS 义务的还算胜利,没有遇到什么效果,这只是最基本的操作。

在公用网络测试有时分会渐渐的,那要如何树立自己的公家DHT网络呢?要树立自己的IPFS网络必需求先发生一对密钥,我们可以透过ipfs-swarm-key-gen这个程式来发生。装置方式如下:

先装置Go (以Ubuntu 为范例)

sudo apt-get install golang-go

export GOPATH=$HOME/golang

下载ipfs-swarm-key-gen

go get -u github.com/Kubuxu/go-ipfs-swarm-key-gen/ipfs-swarm-key-gen

发生Key

~/golang/bin/ipfs-swarm-key-gen >

~/.ipfs/swarm.key

然后复制swarm.key这个文件到其他要一同参与的节点,掩盖每个节点中的~/.ipfs/swarm.key文件,这样Daemon发起的时分才会运用这个key参与我们私有的IPFS网络。

在每一个节点中的~/.ipfs/config 文件外面,预设一末尾描画的bootstrap 都是私有云的位置,由于我们是要建立自己的公有云,因此先透过以下命令消除bootstrap 设定:

ipfs bootstrap rm –all

这里我们有两个节点区分为A 与B,我们仅需求在A 节点参与B 节点的资讯即可。如下:

ipfs bootstrap add /ip4/192.168.20.246/tcp/4001/ipfs/QmNtXfQftbXjZm8BZNexn9N2Dwhrj2CiYHvcpdNXNDkoNj

一但连上IPFS网络,节点之间就会相互沟通,交互传递临近的Peer 资讯,我们可以由以下的命令查询每个Node 的连线外形:

ipfs swarm peers

接下去的操作就跟往常连上IPFS 公网的方式一样啰。

各位有没有发觉,IPFS 其实提供了一个分布式文件路由的机制,假设文件的源头断了,似乎也无法取得文件形式。各位可以试试把实施ipfs add 源头Node 封锁,然后在其他节点施行ipfs repo gc 删除Cache 中的文件,然后重新ipfs cat 试看看,就会发觉取不到了,一旦重新翻开文件源头的Node 就一般了。固然聚集,但是听起来不是很平安,那我们能不能在IPFS网络中建立文件正本呢?当然可以,假设要在自己的节点保管文件资料,不由于ipfs repo gc 被删除或文件根源无法连线形成文件无法取得,可以使用pin 指令将File Object 贮存到磁碟中。

我们来测试一下,在Node A新增一支文件,透过ipfs add放上网络(使用ipfs add文件会自动Pinned),在同一个节点可以透过ipfs pin ls调阅目前的pin外形是recursive (说明)表示Pinned不会由于GC而被删除。如下:

接着我们在另一台Node B 尝试先ipfs cat 取得文件内容,然后输出ipfs pin ls 看看外形,这时分会发觉文件没有被Pinned,如下:

假如这时分把Node A 封锁,Node B 在施行GC 后便无法取得文件内容。

但我们想要做的是在Node B 也保管正本,这样如果Node A 挂了,至少还有一份可以存取。要偷偷存一份很冗杂,透过ipfs pin add 指令即可,File Object Pinned 之后,即使Node A 封锁Node B GC,一样可以取得文件,由于文件曾经贮具有local storage 中啰。测试如下:

IPFS其真实搜寻与定位文件的时分不算快,组织一个自己独立的分布式文件系统还算冗杂。目前正在思索如何作到自动备援的效果,另一个火红的CEPHObject Storage是透过CRUSH Map来完成文件副本的机制,但一样的机制如果用在经常变化且不坚定的IPFS Node架构我想也不适宜。如果可以找到一个自动分派副本的方法,IPFS应当蛮便利的,另一个Filecoin就有针对文件的耐久性做了改良(白皮书描画),IPFS其中还有mfs与IPNS没有引见,明天就先引见到这里,下次见。

推荐阅读

IPFS分布式文件系统(教学)
以太网开发者解决了合并前的节点中心化问题
文章来源: Demi
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至405936398@qq.com 举报,一经查实,本站将立刻删除。
相关资讯
奥斯卡虚拟货币怎么买(BUCKS是什么)
奥斯卡虚拟货币怎么买(BUCKS是什么) 1970-01-01

接下去我们可以透过ipfs cat 获得这个文件的方式,如下:ipfs cat QmeV1kwh3333bsnT6YRf...

游戏虚拟币交易平台?虚拟货币交易用什么软件
游戏虚拟币交易平台?虚拟货币交易用什么软件 1970-01-01

接下去我们可以透过ipfs cat 获得这个文件的方式,如下:ipfs cat QmeV1kwh3333bsnT6YRf...

陕西虚拟货币挖矿举报平台,12369举报范围
陕西虚拟货币挖矿举报平台,12369举报范围 1970-01-01

接下去我们可以透过ipfs cat 获得这个文件的方式,如下:ipfs cat QmeV1kwh3333bsnT6YRf...

乡镇虚拟货币挖矿排查情况 (虚拟货币)挖矿犯不犯法?
乡镇虚拟货币挖矿排查情况 (虚拟货币)挖矿犯不犯法? 1970-01-01

接下去我们可以透过ipfs cat 获得这个文件的方式,如下:ipfs cat QmeV1kwh3333bsnT6YRf...

最近大涨虚拟货币,虚拟币最近为何大幅上涨?
最近大涨虚拟货币,虚拟币最近为何大幅上涨? 1970-01-01

接下去我们可以透过ipfs cat 获得这个文件的方式,如下:ipfs cat QmeV1kwh3333bsnT6YRf...

虚拟货币外围资金是什么,外围指数怎么还在变动
虚拟货币外围资金是什么,外围指数怎么还在变动 1970-01-01

接下去我们可以透过ipfs cat 获得这个文件的方式,如下:ipfs cat QmeV1kwh3333bsnT6YRf...