LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 区块链资讯 > IPFS和Docker

IPFS和Docker

2020-04-03 星际大陆 来源:区块链网络

使用IPFS,您可以共享文件而无需诸如Dropbox,Google Drive和Co之类的集中式产品。这意味着您不需要帐户,没有大小或带宽限制...

它使共享文件方便且非常安全。实际上,用户无法在提交文件后修改文件。这是由于IPFS使用内容本身的哈希而不是url引用内容。本文简要介绍了什么是IPFS,并感谢Docker展示了如何安装和使用它。

请记住,IPFS不会加密任何内容。如果您在IPFS上共享机密,并且有人幸运地猜到数据的哈希值,那么他们将访问您的机密。您可能会然而,在IPFS内容共享是你加密。

IPFS简介

IPFS与在线文件共享解决方案

让我们以Dropbox为例。我可以与您共享一个内容为http://somedropboxlink.com/myfile.pdf的文件。与您共享此文件后,我可以自由修改内容。该链接将保持有效,但下载文件时获得的内容将取决于下载时间。如果您考虑某种合同协议,这不是一个好选择。

使用IPFS,情况有所不同。通过IPFS共享文件时,可以确保从给定链接获得的内容始终完全相同。与您共享合同后,我再也无法将更改潜入合同了:)

使用IPFS网关

您不需要安装任何内容即可查看和从IPFS网络检索文件。这要归功于https://ipfs.io上托管的IPFS网关。

在浏览器中打开此链接将完全显示以下内容:

Hello?and?Welcome?to?IPFS!██╗██████╗?███████╗███████╗██║██╔══██╗██╔════╝██╔════╝██║██████╔╝█████╗??███████╗██║██╔═══╝?██╔══╝??╚════██║██║██║?????██║?????███████║╚═╝╚═╝?????╚═╝?????╚══════╝If?you're?seeing?this,?you?have?successfully?installedIPFS?and?are?now?interfacing?with?the?ipfs?merkledag! ?-------------------------------------------------------|?Warning:??????????????????????????????????????????????||???This?is?alpha?software.?Use?at?your?own?discretion!?||???Much?is?missing?or?lacking?polish.?There?are?bugs.??||???Not?yet?secure.?Read?the?security?notes?for?more.???|?-------------------------------------------------------Check?out?some?of?the?other?files?in?this?directory: ??./about ??./help ??./quick-start?????<--?usage?examples ??./readme??????????<--?this?file ??./security-notes

恭喜!您刚刚使用了IPFS!

当我说正好,这个时候它不会当你打开URL依赖。从现在开始的10年后,打开此IPFS链接时,内容将不再可用,或者如果可用,则完全相同。

如果有人修改内容,即使是很小的更改(例如添加空格),它也会修改您在URL末尾看到的哈希。因此,原始内容在原始URL(主要是IPFS哈希)上仍然可用,而新内容在NEW URL(=新IPFS哈希)上可用。

资料可用性

您可能想知道为什么数据将不再可用?

IPFS是对等网络。当您请求文档时,您的对等方(或使用上面的链接时为IPFS网关)正在询问对等方是否有人拥有内容。如果是,则您的同伴将获取它,将其保留一段时间,然后将其退回。如果您再次需要此内容,则您的对等方将已经拥有它(一段时间,具体取决于节点的配置)。

如果没有对等方具有与哈希匹配的内容,则不会返回任何数据。由同龄人决定什么是“有趣的内容”以及保留多长时间。

有一种方法可以告诉您的IPFS节点PIN数据。这意味着我们告诉节点某些数据很重要,并且我们希望将其永久保存,以便通过网络保持可用。

使用IPFS

如今,有一种使用IPFS的非常简单的方法。您可以从下面的链接下载IPFS桌面:https?://github.com/ipfs-shipyard/ipfs-desktop/blob/master/README.md

这将在您的计算机上安装IPFS节点,以及一个允许您与该节点进行交互的小实用程序。这使得使用IPFS非常简单。

安装此实用程序后,您可以通过简单的拖放操作将文件“添加到IPFS”。该实用程序甚至允许您将屏幕截图自动添加到IPFS。那可以方便!

但是请记住,只有您的计算机和IPFS节点可用时,您共享的任何文件才可用。如果关闭计算机电源,并且没有其他对等方拥有您的数据,则在您的节点重新联机之前,人们将不再能够访问您的内容。

因此,在运行24/7的服务器上运行IPFS可能很有趣。

运行IPFS节点24/7

在24/7可用的服务器上运行IPFS非常有价值。首先,您要提供的所有内容将始终可用。但是,您还可以通过提供一些受欢迎的内容来为网络做出贡献和帮助。

使用Docker的IPFS

关于Docker的一句话

我的博客上与Docker相关的文章数量正在迅速增长,因为Docker可以非常直接地运行任何服务,尤其是如果您要进行测试的话。

如您在此处看到的,在新服务器上安装IPFS确实需要一些步骤:https?:?//ipfs.io/ipfs/QmR7tiySn6vFHcEjBeZNtYGAFh735PJHfEMdVEycj9jAPy/docs/install/

注意

IPFS文档已经很好地存储在IPFS上了!

简而言之,您将需要安装一些GOLANG东西,对系统进行一些调整,告诉IPFS守护程序作为服务启动,注意访问权限等....我不确定您的身份,但是我很少有时间或时间。耐心地处理所有这些...

在服务器上安装Docker也需要几个步骤,但是一旦完成,Docker确实使其变得更加简单。

这是在服务器上运行IPFS节点并访问在ipfsDocker容器内运行的命令的方法。

使用Docker安装IPFS

首先,您需要使用来连接到服务器ssh。

现在,我们将创建2个文件夹。我知道您讨厌复制/粘贴,因此在这里仅一行:

mkdir?-p?$?HOME?/?ipfs?/?staging;?mkdir?-p?$?HOME?/?ipfs?/?data

如果您tree的系统上有该命令,它将显示:

$?tree?-d?-L?1?$?HOME?/?ipfs ??/?home?/?will?/?ipfs ??├──数据 ??└──分期 ??2个目录

现在我们准备好使用docker部分。尽管这一行更长了一点,但它也相当简单,只要正确安装了Docker,您就应该有问题:

docker?run?-d?--name?ipfs?-v?$?HOME?/?ipfs?/?staging:/?export?-v?$?HOME?/?ipfs?/?data:/?data?/?ipfs?-p?4001:4001?-p?127.0.0.1:8080:8080?-p?127.0。?0.1:5001:5001?ipfs?/?go-ipfs:latest

而已!我们完成了:) IPFS现在正在运行。

但是我们如何使用它呢?我可以给你一些码头工人命令来执行此操作,但这会比较长且乏味。让我们做一个别名,使事情变得容易得多。我正在为我的别名命名dipfs(对于docker-ipfs),因为ipfs我的系统上有一个旧命令。如果不这样做,则可以在以下命令中替换dipfs为ipfs:

别名dipfs?='docker?exec?ipfs?ipfs'

为了使该别名持续存在,您需要将其添加到中.bashrc。这是另一种形式:

echo“?alias?dipfs?='docker?exec?ipfs?ipfs'”?>>?/?.bashrc;?来源?/?.bashrc

现在,我们可以使用新命令了。让我们help首先检查命令:

$?dipfs-帮助用法 ??ipfs-全局p2p?merkle-dag文件系统。概要 ??ipfs?[--config?=?<config>?|?-c]?[--debug?|?-D]?[--help]?[-h]?[--api?=?<api>]?[--offline]?[--cid-base?=?<base>]?[--upgrade-cidv0-in-output]?[-?-encoding?=?<编码>?|?--enc]?[--timeout?=?<超时>]?<命令>?...选项 ??-c,--config字符串-要使用的配置文件的路径。 ??-D,--debug?bool-在调试模式下运行。 ??--help?bool-显示完整的命令帮助文本。 ??-h?bool-显示命令帮助的简短版本 ??????????????????????????????????????文本。 ?<...被截断了...> ??退出状态 ??CLI将以下列值之一退出: ??0成功执行。 ??1执行失败。 ??有关每个命令的更多信息,请使用: ??'ipfs?<subcmd>-帮助'

注意

文档中提到ipfs。就我而言,是dipfs。

现在让我们获取一些内容:

$?dipfs?cat?QmYwAPJzv5CZsnA625s3Xf2nemtYgPpHdWEz79ojWnPbdG?/?readme ??您好,欢迎使用IPFS! ??██╗██████╗████████████████╗ ??██║██╔══██╗██╔════╝██╔════╝ ??██║██████╔╝█████╗████████╗ ??██║██╔═══╝██╔══╝╚════██║ ??██║██║██║████████║ ??╚══════╝ ??如果看到此消息,则说明您已成功安装 ??IPFS,现在正在与ipfs?merkledag连接! ??--------------------------------------------------?----- ??|?警告: ??|?这是Alpha软件。自行决定使用!| ??|?很多东西缺失或缺乏抛光。有错误。| ??|?尚不安全。阅读安全说明以获取更多信息。| ??--------------------------------------------------?----- ??检出此目录中的其他一些文件: ????。/关于 ????。/救命 ????./quick-start?<-使用示例 ????./readme?<-此文件 ????./security-notes

现在,让我们将其中一个文件添加到IPFS。对于示例,我们将生成一个文件。由于IPFS有效地重复数据删除,因此添加“ Hellow World”将毫无用处,因为有人可能已经这样做了。因此,您不会在IPFS中添加新内容。相反,我们将使用当前日期作为内容,这应该足够公平:

$?echo`date`>?ipfs?/?staging?/?myfile.txt ??$?dipfs添加/export/myfile.txt;?rm?ipfs?/?staging?/?myfile.txt ??添加了QmYbdWGwaGjDMzSHDQygAXZsQA559cqesUz19DKgwSfwkt?myfile.txt ??29?B?/?29?B?100.00%

注意

在此示例中,我们正在添加一个文本文件,但是您可以添加PDF,整个视频,...任何内容...

注意

请注意,我们还有一些额外的工作将文件放置在特定的位置(容器即容器)

您可能会使用我们在本文开头看到的IPFS桌面实用程序添加文件和内容。现在,让我们看看如何固定添加到新服务器中的内容,使其继续提供这些文件。

让我们以IPFS哈希QmYwAPJzv5CZsnA625s3Xf2nemtYgPpHdWEz79ojWnPbdG为例。它可能是来自朋友或同事的数据,您想帮助使这些内容可用。

您可以使用IPFS桌面实用程序查看内容:

图1.浏览给定IPFS哈希的内容

检查帮助

$?dipfs?pin-帮助用法 ??ipfs?pin-将对象固定(和取消固定)到本地存储。概要 ??ipfs针子命令 ??ipfs?pin?add?<ipfs-path>?...-将对象固定到本地存储。 ??ipfs?pin?ls?[<ipfs-path>]?...-列出固定到本地存储的对象。 ??ipfs?pin?rm?<ipfs-path>?...-从本地删除固定的对象 ??????????????????????????????????????????存储。 ??ipfs引脚更新<从路径>?<至路径>-更新递归引脚 ??ipfs引脚验证-验证递归引脚是否 ??????????????????????????????????????????完成。 ??有关每个命令的更多信息,请使用: ??'ipfs引脚<subcmd>?--help'

将某些内容固定在您的节点上

$?dipfs引脚添加QmYwAPJzv5CZsnA625s3Xf2nemtYgPpHdWEz79ojWnPbdG递归固定QmYwAPJzv5CZsnA625s3Xf2nemtYgPpHdWEz79ojWnPbdG

结论

我们已经看到了如何使用IPFS桌面实用程序,这使使用IPFS变得轻而易举。我们还看到了如何使用Docker在将运行24/7的服务器上安装IPFS节点。

我们终于了解了如何将内容固定在服务器上,以便即使台式机或笔记本电脑脱机,我们的内容仍然可用。

原文链接:https://www.chevdor.com/post/2020-03-docker-ipfs/

翻译编辑:星际大陆

  • 添加新手交流群:币种分析、每日早晚盘分析
  • 添加虎哥微信,一对一亲自指导:hugelunbi02
  • —-

    编译者/作者:星际大陆

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

    LOADING...
    LOADING...