1. IPFS点滴资讯首页
  2. 技术分享

使用IPFS分散托管静态响应应用程序

让我们学习如何将应用程序部署到分散的文件系统IPFS!我们还将看到我们如何匿名以及如何减轻审查。

获取IPFS运行

IPFS(行星际文件系统)是一个分散组织的P2P文件系统,任何人都可以从中存储和检索文件。每个文件都由它的哈希访问,哈希用作唯一标识符。您可以在此处下载IPFS 并通过执行以下命令(Mac和Linux)进行安装。

tar xvfz go-ipfs.tar.gz
cd go-ipfs
./install.sh

然后你可以运行它ipfs help 。或者,您可以安装桌面客户端

创建示例应用程序

现在,我们已经运行了IPFS,我们需要一个应用程序来部署。为此,我将创建一个示例应用程序create-react-app。继续创建一个演示应用程序npx create-react-app ipfsdemo。下载完所有依赖项后,启动开发服务器cd ipfsdemo && yarn start。导航到App.js您喜欢的代码编辑器中的文件并添加一些内容。当您对超级简单的反应应用程序感到满意并认为是时候部署时,您首先必须转到package.json并添加以下行,“homepage”: “./”,以告知构建过程您的基本目录位于同一文件夹中。然后你可以构建静态反应应用程序yarn build。尝试build/index.html在浏览器中打开文件,看看是否所有内容仍然正常。

部署到IPFS

要部署应用程序,您只需将文件夹添加到ipfs使用ipfs add -r build。控制台输出的最后一行应该类似于:

添加了QmTVH3MTej9zB3ELAACGagE6C6976ha2yTFNftj5FeoCHu构建

这是您的文件夹的哈希值,可用于全局标识它。继续尝试通过本地网关打开它http://127.0.0.1:8080/ipfs/<yourHash>。任何启动并运行IPFS节点的人现在都可以以相同的方式访问此应用程序。太棒了,对吧?

使用IPFS分散托管静态响应应用程序
您的反应项目生活在分散的文件系统中。

那些没有运行IPFS节点的人呢?进入公共网关。IPFS本身提供了一个公共网关,它通过HTTP公开IPFS中的文件。您可以通过访问它https://ipfs.io/ipfs/<yourHash>。继续将链接发送给朋友,看看他是否可以打开你的应用程序!Infura提供另一个公共IPFS网关ipfs.infura.io/ipfs/<yourHash>,但有时可能需要一段时间。

还记得IPFS通过P2P网络访问文件吗?这意味着,如果您将应用程序放到自己的IPFS节点上然后将其关闭,则没有人可以通过公共网关访问您的应用程序,因为网关在P2P网络中查找您的文件,而唯一的(当前)拥有它就是你!如果运行本地IPFS节点的其他用户访问您的应用程序,他们将获得本地副本,并且能够从现在开始提供服务,直到垃圾收集将其丢弃。为了防止垃圾收集,可以固定文件。

如果您希望您的应用始终可以通过网络访问,您可以选择以下选项:不要关闭计算机和Internet连接,托管IPFS节点(例如使用Nodefort)并固定应用程序或支付服务,运行IPFS节点,用于固定您的服务。这些服务通常以加密方式支付,只要您在服务器上支付费用,就可以保留文件。一些服务是IPFSstorePinbitsEternum。例如,Eternum每月每GB需要0.3美元用于托管您的文件,因此对于1美元,示例反应应用程序可以固定大约14年。

命名的东西

所以现在我们还有两个新问题:
1。如果我们在应用程序中更改某些内容并重新部署它,我们 – 由于哈希的本质 – 得到一个不同的哈希值。这是有意的,但有点不切实际。
2.包含哈希的链接有点但笨重,甚至不能令人难忘。
另一篇文章中, Mark Pors试图解决这些问题。IPFS有另一种内置机制,名为IPNS。使用IPNS,您可以在固定散列后面交换内容,例如符号链接,您可以在其中更改指向的内容。使用ipfs name publish <yourHash>您可以获得别名哈希,该哈希解析为已发布的哈希。然后,您可以通过它访问它https://ipfs.io/ipns/<aliasHash>。如果您发布另一个不同的散列,则别名散列将保持不变。这个哈希仍然很难记住。要解决此问题,您可以使用您的域名,例如example.com,并添加如下TXT记录:

dnslink = / IPNS / <aliasHash>

现在你可以访问应用程序了https://ipfs.io/ipns/example.com,这仍然有点笨重但更好。
不幸的是 - 你现在可能已经注意到了,如果你跟着 – IPNS很慢,非常非常慢。发布和解决IPNS哈希大约需要1-2分钟。所以这不是一个选择。希望这将在未来有所改善。

IPFS链接不是人类友好的,目前没有很好的解决方案。

目前唯一可行的替代方法是将您的域直接重定向到IPFS链接,如果您更改了必须更改重定向的内容。在elbstack,我们目前正在寻找这个问题的解决方案,并希望尽快出现解决方案。

匿名和不可饶恕

为什么甚至考虑部署应用程序或内容分散?答案是匿名,很少或根本没有办法审查内容。虽然服务器通常由一个人拥有或租用,但没有人真正知道文件所有者是谁固定到IPFS节点,特别是如果其他节点访问并本地复制此文件。通过正确的措施,找到创造者几乎是不可能的。将文件添加到IPFS,支付带有密码的固定服务,无法追踪到某个人,从本地节点中删除该文件。

使用IPFS的人越多,审查内容就越难。

如果有人(例如中央机构)希望删除IPFS中的内容,则他们只能通过跟踪文件的所有副本来实现此目的。当用户在其本地IPFS节点上复制内容并关闭计算机时,这尤其困难。他们能做的最多就是从钉扎服务的服务器中删除文件。但是,如果您的内容仅存在于一个节点,钉扎服务,并且仅由网关访问,则不会进行复制,这意味着它只是中心而不是分布式的。这表明,IPFS需要具有本地节点的用户,以使其真正分散。

结论

我们能够使用一行代码部署一个应用程序并以分散的方式提供它,但是面临着不可变性和通过域轻松访问的新挑战,这仍然没有令人满意的解决方案。我们还看到,IPFS有助于使互联网不受约束和匿名。也许在未来,IPFS可能成为部署应用程序的更常见方式,这也将提供有史以来最尖端的CDN,所有资产将由用户复制并且可在P2P网络中的许多节点处获得。

点对点科技简介

点对点科技深耘IPFS与Filecoin技术,坚持区块链技术改变未来的信念。点对点 IPFS 数据中心是目前国内技术领先,性价比高、保障优的投资标的。自建杭州数据中心,合作数据中心分布于上海、宁波、河北、香港、斯德哥尔摩(瑞典)等地。点对点数据中心具有优秀的硬件配置与目前国内优质的网络节点资源。点对点科技力求将IPFS爱好者升级为IPFS领军者与受益者,让IPFS颠覆传统互联网,共同开启 WEB 3.0时代。

想了解更多区块链知识吗?关注我吧!

Filecoin测试网二阶段昨日重启,点对点出块第一! | 点滴资讯

原创文章,作者:Vito,如若转载,请注明出处:http://ipfsdrop.com/tech/using-ipfs-to-disperse-static-managed-response-applications/

发表评论

电子邮件地址不会被公开。 必填项已用*标注