LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 新闻观点 > 如何使用IPFS搭建“去中心化”网站

如何使用IPFS搭建“去中心化”网站

2020-03-31 Filecoin社区 来源:火星财经

我分享过很多基于IPFS的应用,今天给大家介绍一个具体的例子:如何让网站变得去中心化。

首先,使一个网站去中心化意味着从离自己最近的数据源获取数据。如果按照互联网的HTTP协议,就不是从最近的数据源获取数据,而如果用IPFS就能做到这一点。

我们可以先用一个静态网站生成工具Hugo(https://gohugo.io/)来生成一个静态网站,这是个非常不错的工具,很好用。

我们只需要两个命令行指令就可以把一个已有的网站上传到IPFS系统,这两个命令行指令如下:

hugo --gc --minify

npx ipfs-deploy public -p pinata -d cloudflare

第一个命令行指令是调用了hugo工具生成一个新的目录,称为“public”,这个新的目录包含了网站中所有的网页。

接下来的指令调用了ipfs-deploy这个小工具,它将一个目录(在这个例子中是“public”)加入“pin”服务,并且将它更新到我们定义的DNS域名服务中的DNSLink中去。

这里提到的“pin”服务是什么呢?

所谓的“pin”服务就是一种在线服务,它运行IPFS的精灵进程(IPFS daemon),通常也是一个网关。

这个在线服务保证网站的内容不会从网站丢失,写到这里,有人可能会担心是不是这意味着所有的一切都要依赖这个在线服务,这是不是就是一种中心化?

实际上,我们可以在本地运行自己的IPFS精灵进程,这也是我们应该要做的。我们自己在本地运行了这个IPFS精灵进程后把我们的网站内容也加入到我们本地的服务器中去。

我建议以上两件事都做,这会大大增加我们去中心化网站运行的可靠性。

DNSLink又是什么呢?

它实际上是一条文本记录,它把一个域名映射到一个IPFS哈希值。

比如我们网站的域名是example.com,我们网站的内容是QmHash。那么我们对_dnklink.example.com就会有一条映射记录且它的值是:dnslink=/ipfs/QmHash

DNSLink让IPFS通过查找域名知道我们的网站都有哪些内容。

我们肯定不会把我们网站对应的IPFS哈希值直接给用户让用户用这种方法访问我们的IPFS网站。

我们还需要其它一些服务来辅助我们,下面我们一个个介绍这些服务。

首先给大家介绍“Pinata”。这是一个免费增值服务,它让我们免费“pin”1GB的数据。我们在它的网站(https://pinata.cloud/)上注册后,会拿到“api key”和“secret api key”这两个密钥,然后设置两个环境变量就能使用ipfs-deploy这个工具了。这两个环境变量是:

IPFS_DEPLOY_PINATA__API_KEY=<api key>

IPFS_DEPLOY_PINATA__SECRET_API_KEY=<secret api key>

我们还需要使用Cloudflare为我们提供DNS服务。去年开始Cloudflare就有了它们自己的IPFS网关。如何使用这个网关呢?

举例来说,如果我们网站的域名是example.com,我们就需要在“cloudflare-ipfs.com”的根目录中加一条CNAME记录,这样我们的网站就能被Cloudflare的网关解析。

Pinata和Clouldflare的共同作用使网站内容能被尽快地访问到,也使网站内容的更新能尽快完成。

我们还需要再设置一些环境变量完善ipfs-deploy的配置,让我们能自动更新DNSLink的记录。运行下列命令行指令:

ipfs-deploy -p pinata -d cloudflare

这样,我们的网站就会被“pin”到Pinata,我们在Cloudflare上的DNSLink也会被更新。

到这里为止,我们的网站就已经完全去中心化了。

我是IPFS/Filecoin社区发起人晓熙(加入社区,联系v号: liandaoxixi),IPFS/Filecoin是全球共识最大的去中心化存储项目,我会定期在社区分享专业的资讯,为IPFS/Filecoin爱好者建设一个共赢的学习社区。

本文来源:Filecoin社区
原文标题:如何使用IPFS搭建“去中心化”网站

—-

编译者/作者:Filecoin社区

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

LOADING...
LOADING...