怎么样在IPFS上部署个人网站

昕阳小编 130 0

我想了解IPFS和Web 3.0,所以我开始研究它,并尝试在那里上传我的网站。这里是我一路走来学到的一些概念,以及我如何在tbking.eth

上托管我的网站。我将简要介绍IPFS,以及为什么在那里托管静态内容是有意义的。如果你已经熟悉IPFS,你可以跳过前一部分。

星际文件系统是一个用于共享内容的分散式网络。它有一个非常简单但有趣的设计思想:建立一个在行星之间工作的网络,这也是一个跨地球的更好的通信网络。

IPFS是一个去中心化的网络,在这个网络中,通过BitTorrent和其他方式连接对等体并共享文件。

基本原理是,与传统Web不同,IPFS的文件是根据文件的位置提供服务的,而传统Web是根据文件的位置提供服务的。考虑一下这个比较:

谷歌的隐私政策被确定为一个托管在谷歌服务器上的文件,地址为:

https://policies.google.com/privacy.政策的内容无关紧要。这叫做位置寻址。

另一方面,IPFS通过文件的内容(使用其哈希)来识别文件。假设你想读“XKCD # 327-一位母亲的功绩”。

它的IPFS地址是:

https://ipfs . io/IPFS/qmzvjv 5 jfv 7 jo 4 hfj 6 wpyrnhcxf 8 kbadkqtqbco 2 GEF 64 x/

这个地址不依赖于服务器的位置,而是一个hash。这叫做内容寻址。任何关心XKCD的人都可以主持。这使得断链不太可能,这是IPFS的目标之一。

IPFS文档很好地解释了这些概念。我向任何想深入研究它们的人推荐它们。

在IPFS上部署静态内容(如个人网站)很容易。我接下来列出的步骤可以用于任何文件,比如纯HTML文件,Jekyll、Hugo、Hexo、Gatsby等静态网站生成器生成的网站,甚至是媒体文件。那么,我们开始吧。

如果IPFS桌面已安装并正在运行,您可以使用通用文件选择器添加文件。只需导入包含静态网站内容的目录。

怎么样在IPFS上部署个人网站-第1张图片-昕阳网

提示:在您的网站中使用相对链接是非常重要的,因为ipfs网关的URL类似于//ipfs//file . ext

在上一节中,我们添加的文件是在我们的IPFS节点网络中找到的。这就是为什么IPFS网关可以解析它,并显示在浏览器中。然而,一旦IPFS守护进程关闭,该网站可能将无法访问。

即使在IPFS上请求了某些内容后,接收节点仍会成为该内容的主机,但该内容将在12小时后被垃圾收集。如何在没有服务器的分布式网站中24/7服务你的网站?

将某物固定在IPFS上的节点将永远拥有它(直到它被解除固定)。有Pinata之类的Pin服务,它们将文件固定在它们的IPFS节点上。这样,网站将始终可用。

在Pinata中,如果内容已经上传到IPFS,您可以上传文件或只提供其哈希值。这是我如何固定我们上面上传的样本网站。

提示:最好使用多个Pin服务来修复您的站点冗余。

您可能已经注意到,使用IPFS非常简单。我想说的是,这比我们使用的传统网络更容易处理。

但是每次要换文件都要重复这个过程,不太理想。有像Fleek这样的工具可以帮助自动化上面列出的所有步骤。

Fleek与Travis或CircleCi一样用于IPFS部署。你可以把它的Github账号和它关联起来,和Github挂钩。Fleek将在每次被推送到Github存储库时触发部署。他们还把所有部署好的东西都钉上。

因此,我使用Hexo生成了这个博客,并且能够在Fleek dashboard本身中添加一个构建步骤,因此不需要生成HTML并将其推送到我的存储库中。 这是我用的构建命令:

怎么样在IPFS上部署个人网站-第2张图片-昕阳网

是的,我需要自己安装子模块。默认情况下,他们还没有这样做。检查一下,很简单。

链接到域因此,现在我们可以启动并运行我们的网站,但IPFS上的内容不像传统网络上那样容易找到。我的网站可以在https://tarunbatra.com上找到。

但是在IPFS上,可以通过

https://ipfs.io/ipfs/qmtpta1ddoskuakaw56s 尚力财经小编2022 al 9 dicbc 71 bwfjrbvjasshcxs/访问当前版本。你看到问题了。这不是人类可读的。每次更新后,CID都会改变。有两种解决方案:

DNSLink

使用DNSLink,您可以将一个通用域指向IPFS内容。在Fleek上可以轻松设置。我已经使用Fleek将IPFS .tarunbatra.com指向IPFS版本,你将能够打开这个网站。

IPNS(星际命名服务)也存在。和DNSLink差不多,但是现在慢多了。

以太坊名称服务

ENS是以太坊区块链上的一个命名服务,它使用智能合约来购买域名并为其设置解析器记录。由于涉及以太坊,需要使用MetaMask才能使用。

尚力财经小编2022怎么样在IPFS上部署个人网站-第3张图片-昕阳网

我购买了这个域名tbking.eth,并将其指向该网站的IPFS内容。每当我改变网站的内容时,我仍然需要更新它。我不确定是否有任何自动化的方法。不过,截至目前,Fleek正在致力于ENS域集成。

IPFS非常适合作为Web 3.0的存储层。

标签: vac

抱歉,评论功能暂时关闭!

微信号已复制,请打开微信添加咨询详情!