IPFS教程:分散你的网络

当你托管一个网站的时候,你通常会使用一个专用的 VPS,比如 Digital Ocean, Linode,Google 或 Amazon。设置服务器后,您可以在 Google 域名或 namebeach 注册一个域名。最后一步是编辑 DNS 记录以将域指向服务器。现在你可以通过导航到你的域名来访问你的网站。

不过,这也有问题。你的VPS控制你网站的主机和域名服务,你去维护你的域名控制。如果你的 VPS 下降或者你正在使用的公司突然在你的国家被列入黑名单,会发生什么?如果 ICANN 夺走你的域名呢?或者你的域名服务关闭?尽管这些可能性很小,但它们非常重要,并且使您思考,如果您不能托管您的网站或您的域名被盗后该怎么办。

使用 IPFS(星际文件系统)和 ENS(以太坊名称服务),您可以以完全分散的方式托管和服务您的网站。

IPFS被描述为一个点对点超媒体协议 旨在使网络更快、更安全、更开放您可以将 IPFS 看作 HTTP 或类似于 CDN(内容传递网络)。它是一种查询资源的方法,而不是将资源托管在由 Google,Amazon 等控制的几个大型数据中心中。文件是分散的,并托管在世界各地任何人运行的各个节点上。

一个 IPFS 散列的一个例子QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv。并且可以通过像网关来访问 Cloudfare 如cloudflareipfs.com/ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv。此哈希指向用于承载您自己的 IPFS 节点的起始文件,正如您所看到的,它仅显示指向其他文件的链接。

IPFS教程:分散你的网络

但是,IPFS 哈希还可以指向最近部署到 IPFS 的网站,例如 tornado.cash(加密混合器)。

IPFS教程:分散你的网络

您可以通过 ipfs.io 网关ipfs.io/ipfs/QmRvFZwyoJeMDCcdSiK15m7Vn2n1BFnz14WNwVxrhizzX5/访问它。总之,IPFS 具有一些主要优点

分散的网络内容不可变的耐审查

部署到 IPFS

您可以通过启动自己的节点将网站部署到 IPFS。首先下载 IPFS go 实现,然后打开终端并运行。

ipfs daemon

然后您应该会看到以下输出

Initializing daemon…go-ipfs version: 0.4.22-Repo version: 7System version: amd64/darwinGolang version: go1.12.7Swarm listening on /ip4/127.0.0.1/tcp/4001Swarm listening on /ip4/192.168.1.7/tcp/4001Swarm listening on /ip6/::1/tcp/4001Swarm listening on /p2p-circuitSwarm announcing /ip4/127.0.0.1/tcp/4001Swarm announcing /ip4/192.168.1.7/tcp/4001Swarm announcing /ip6/::1/tcp/4001API server listening on /ip4/127.0.0.1/tcp/5001WebUI: http://127.0.0.1:5001/webuiGateway (readonly) server listening on /ip4/127.0.0.1/tcp/8080Daemon is ready

现在,您可以固定您的网站了

ipfs add index.htmladded QmY9cxiHqTFoWamkQVkpmmqzBrY3hCBEL2XNu3NtX74Fuu index.html​6 B / 6 B [=========================================================]100.00%

为了确保站点保持在网络上,可以将其固定到本地节点。ipfs pin addQmY9cxiHqTFoWamkQVkpmmqzBrY3hCBEL2XNu3NtX74Fuupinned QmY9cxiHqTFoWamkQVkpmmqzBrY3hCBEL2XNu3NtX74Fuu recursively

现在,您可以通过网关导航到输出的哈希,并查看您的站点ipfs.io/ipfs/QmY9cxiHqTFoWamkQVkpmmqzBrY3hCBEL2XNu3NtX74Fuu固定到自己的节点上很棒,但是,如果节点掉线或您托管的文件被删除并且文件尚未通过网络传播,会发生什么情况呢?

一个好的经验法则是将您的站点添加并固定到三个 IPFS 节点。您可以通过创建自己的 IPFS 群集或使用已经设置了节点的流行固定服务来实现。例如 Pintra 或 Temporal。对于此示例,我们将使用 Pintra。

首先,导航到 pintra.cloud,注册并导航到上载选项卡。

IPFS教程:分散你的网络

上传单个文件或多个文件的目录。您还可以将文件添加时的哈希值固定到本地节点,以确保它在整个网络中传播。如果你正在创建一个带有 React 或 Gatsby 等框架的 Web 应用程序,你可以将自己的 build 或 public 文件夹上传到 Pintra。

或者,您可以在一行中查看 IPFS- deploy 以将站点部署到 IPFS。现在我们的站点托管在分散式的IPFS网络上,但是导航到 IPFS.io/ipfs/QmY9cxiHqTFoWamkQVkpmmqzBrY3hCBEL2XNu3NtX74Fuu 很难记住,所以我们需要一个域名。

注册 ENS 域名

一种安全且分散的方式,使用简单、易读的名称来处理区块链上和下的资源。Etheruem 名称服务(ENS)提供一种安全且分散的方式,使用简单、易读的名称来处理区块链上和下的资源。ENS 是一个非营利性组织,它不是在像 Google Domains 这样的网站上注册域名,而是提供.eth 域,这些域是不可变的,并在 Ethereum 区块链上注册。

.eth 域的主要目标是使加密货币地址易于可读。但是,ENS 增加了对链接您的域到 IPFS 哈希的支持,因此当一个.eth 域进入您的浏览器时,它将解析到您在 IPFS 上的网站。例如,我的.eth 域是 kohorst.eth。如果你在你的加密钱包中输入该域名(如果它具有一个 ENS 解析器),它将解析到我的 eth 地址。更重要的是,如果您输入 kohorst.eth(如果它具有像 Brave 这样的 ENS 解析器,则可以输入 kohorst.eth.link,它将解析)我的个人网站(在 IPFS 上托管)将解析!

第一步是购买您的 ENS 域。导航到 app.ens。域名和搜索您的域名。

IPFS教程:分散你的网络

注意:为了购买一个 ENS 域,您需要 Ether 和与Web3兼容的浏览器/扩展名,才能购买 ENS 域。选择您要购买域名的年数,然后按照购买步骤进行操作。在您的签名和验证您的事务之后,您必须等待,同时在 Etheruem 区块链上验证事务。事务完成后,您可以单击您的域来管理它。它看起来像这样。

您可以将 ETH 地址以及其他加密货币(如 BTC 或 LTC,您的电子邮件,Github 甚至 Twitter 用户名)添加到 ENS 域中。最重要的是,您可以添加 IPFS 哈希。单击添加按钮,然后在Content添加网站的 IPFS 哈希下

IPFS教程:分散你的网络

您将需要支付加油费才能将内容写入区块链,并且在验证交易之后,您应该能够浏览yourdomain.eth.link和查看您的 IPFS 网站!

IPFS 和常规域名服务

没有任何以太币,还是不想让您的域名结尾.eth?您可以将传统 DNS 指向 IPFS 哈希,以便保留.com域。您可以在此处了解更多信息。在 DNS 中的 Google Domains 上,您需要注册一个 A 和 AAAA 记录,该记录指向 IPFS 网关的 IP 地址。您可以使用来查找 IPFS 网关的 IPv4 和 IPv6 记录(此处提供了正常运行的网关的良好列表)nslookup。使用 ipfs.io 网关的记录是

A 209.94.90.1 AAAA 2602:fea2:2 :: 1

在您的 DNS 上注册这些文件,然后使用dns链接值创建 TXT 记录,例如

"dnslink=/ipfs/<HASH>"

就是这样!现在你的域名将指向你的 IPFS 网站。

End

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

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

#专栏作家#

本文来自人人都懂区块链专栏作家filcloud,公众号:filcloud。帮你透视浩瀚的IPFS数字世界。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

留言与评论(共有 0 条评论)
   
验证码:
微信号已复制,请打开微信添加咨询详情!