我想了解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网关的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并将其推送到我的存储库中。 这是我用的构建命令:
尚力财经小编2022