LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 行情分析 > 用Textile构建IPFS的Pin功能(二)

用Textile构建IPFS的Pin功能(二)

2020-04-22 FIL社区 来源:区块链网络

在昨天的文章中我分享了用Textile如何配置一个远程的IPFS节点并将它设置为Café模式。

在我们对远程节点进行了配置后,接下来我们先快速地测试一下这个配置的远程节点。

我们可以用curl小工具进行测试,运行下列命令:

curl "http://xx.xxx.xx.xxx:40601/health"

如果我们得到了回复“204”,就证明我们所有的步骤都是正确的。如果想更新“Cafe”,可以用我们提供的脚本文件,这个脚本的下载地址为:

https://gist.github.com/sanderpick/94076679d331215e336b1144c3a8c243

我们还提供了一个重新安装“Cafe”的脚本,其下载地址:

https://gist.github.com/sanderpick/1f00f69af6a4b046364c53816cf508ac

我们已经配置好了远程节点的Textile Café服务,现在我们还需要一个本地节点,并要把这个本地节点和远程节点关联上。

我们可以重复上面配置远程节点的所有步骤,不过这次是在本地运行,设置一个本地的节点。设置完后,我们就有了一个远程节点和一个本地节点。

本地节点设置好以后,我们要用远程节点的ID对本地节点进行注册使本地节点和远程节点关联起来。我们可以在远程节点上运行“textile peer”命令获取远程节点的ID,然后运行下列命令对本地节点进行注册:

textile cafes add <cafe-peer-id>

命令运行成功后会返回一个包含“access”和“refresh”的JSON Web Token(JWT)信息。这个信息未来在进行“Pin”服务时会用到。

我们可以用命令“?textile cafes ls”罗列所有注册的Café节点,还可以用命令“textile cafes ls | jq '.[].access'”提取access JSON Web Token的信息。

我们还可以注册多个Café节点,这样我们的数据存储就会更安全更有保障。要注册多个Café节点,我们只需要重复上面的步骤即可。

当我们把一个本地节点注册了以后,任何一个被加入到“Thread”的文件都会被自动地添加并“pin”到远程的Café节点。这就是我们需要的“Pin”服务。

将我们这两天的步骤进行总结,用Textile设置Pin服务,其步骤如下:

1?用Textile配置一个远程节点,并将其设置为Café模式

2?用Textile配置一个本地节点

3?用远程Café节点的ID注册本地节点

4?创建一个“Thread”

5?向”Thread”添加文件,文件会被自动Pin到远程节点。

此外,再给大家介绍一下IPFS的Pin服务。

在IPFS中,每个存储的文件会被分为文件块,每个文件块都有自己的?pin 状态,由?pin 管理器?Pinner 进行管理。

IPFS的垃圾清理其在清理文件时,会根据每个文件块的Pin 状态,对其做出相应的处理。

文件块共有5种?Pin 状态:

Recursive状态:文件块树被递归添加到Pin中,根文件块的状态是Recursive,非根文件块的状态是Indirect

Direct状态:只有目标文件块添加到Pin中,子孙块不做处理,目标文件块的状态就是Direct

Indirect状态:文件块树被递归添加到Pin 中,根文件块的状态是Recursive,非根文件块的状态是Indirect

Internal状态:IPFS使用文件块来保存Pinner状态,这些文件块的状态就是Internal

NotPinned状态:文件块没有被Pin,在垃圾清理时会被删除

我是IPFS/Filecoin社区发起人晓熙(加入社区,联系v号: liandaoxixi),IPFS/Filecoin是全球共识最大的去中心化存储项目,我会定期在社区分享专业的资讯,为IPFS/Filecoin爱好者建设一个共赢的学习社区。

参考链接:

https://medium.com/textileio/easy-personal-ipfs-pinning-service-with-textile-9d366da4e420

https://www.jianshu.com/p/4d3844ee4eab

—-

编译者/作者:FIL社区

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...