LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 行情分析 > IPFS技术进展:在Docker使用IPFS

IPFS技术进展:在Docker使用IPFS

2020-04-07 FilCloud 来源:火星财经

使用 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 installed IPFS 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

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

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

资料可用性

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

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

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

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

使用 IPFS

如今,有一种使用 IPFS 的非常简单的方法。您可以从下面的链接下载 IPFS 桌面:

https://github.com/ipfsshipyard/ipfsdesktop/blob/master/README.md

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

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

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

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

运行IPFS节点24/7

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

使用 Docker 的 IPFS

如您在此处看到的,在新服务器上安装 IPFS 确实需要几个步骤:

https : //http://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 ├── data └── staging 2 directories

现在我们准备好使用 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 现在正在运行。

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

alias dipfs='docker exec ipfs ipfs'

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

echo "alias dipfs='docker exec ipfs ipfs'" >> ~/.bashrc; source ~/.bashrc

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

$ dipfs --help USAGE ipfs - Global p2p merkle-dag filesystem. SYNOPSIS ipfs [--config=<config> | -c] [--debug | -D] [--help] [-h] [--api=<api>] [--offline] [--cid-base=<base>] [--upgrade-cidv0-in-output] [--encoding=<encoding> | --enc] [--timeout=<timeout>] <command> ... OPTIONS -c, --config string - Path to the configuration file to use. -D, --debug bool - Operate in debug mode. --help bool - Show the full command help text. -h bool - Show a short version of the command help text. <... truncated ...> EXIT STATUS The CLI will exit with one of the following values: 0 Successful execution. 1 Failed executions. For more information about each command, use: 'ipfs <subcmd> --help'

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

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

$ dipfs cat QmYwAPJzv5CZsnA625s3Xf2nemtYgPpHdWEz79ojWnPbdG/readme Hello and Welcome to IPFS! ██╗██████╗ ███████╗███████╗ ██║██╔══██╗██╔════╝██╔════╝ ██║██████╔╝█████╗ ███████╗ ██║██╔═══╝ ██╔══╝ ╚════██║ ██║██║ ██║ ███████║ ╚═╝╚═╝ ╚═╝ ╚══════╝ If you're seeing this, you have successfully installed IPFS 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。对于示例,我们将生成一个文件。由于 IPFS 有效地重复数据删除,因此添加“ Hellow World”将毫无用处,因为有人可能已经这样做了。因此,您不会在 IPFS 中添加新内容。相反,我们将使用当前日期作为内容,这应该足够公平:

$ echo `date` > ipfs/staging/myfile.txt $ dipfs add /export/myfile.txt; rm ipfs/staging/myfile.txt added QmYbdWGwaGjDMzSHDQygAXZsQA559cqesUz19DKgwSfwkt myfile.txt 29 B / 29 B 100.00%

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

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

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

让我们以 IPFS 哈希:

QmYwAPJzv5CZsnA625s3Xf2nemtYgPpHdWEz79ojWnPbdG为例。

它可能是来自朋友或同事的数据,您想帮助使这些内容可用。

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

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

检查帮助

$ dipfs pin --help USAGE ipfs pin - Pin (and unpin) objects to local storage. SYNOPSIS ipfs pin SUBCOMMANDS ipfs pin add <ipfs-path>... - Pin objects to local storage. ipfs pin ls [<ipfs-path>]... - List objects pinned to local storage. ipfs pin rm <ipfs-path>... - Remove pinned objects from local storage. ipfs pin update <from-path> <to-path> - Update a recursive pin ipfs pin verify - Verify that recursive pins are complete. For more information about each command, use: 'ipfs pin <subcmd> --help'

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

$ dipfs pin add QmYwAPJzv5CZsnA625s3Xf2nemtYgPpHdWEz79ojWnPbdG pinned QmYwAPJzv5CZsnA625s3Xf2nemtYgPpHdWEz79ojWnPbdG recursively

结论

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

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

End

非常感谢您对 IPFS&Filecoin 项目的持续支持。我们很高兴继续与您一起,为人类信息建立一个强大的,去中心化和高效的基础。

FilCloud 帮你迅速了解 IPFS 领域的热点技术和应用

公众号:filcloud

本文来源:FilCloud
原文标题:IPFS技术进展:在Docker使用IPFS

—-

编译者/作者:FilCloud

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

LOADING...
LOADING...