操作指南丨利用IPFS相关技术/工具托管网站

这篇教程详细介绍了如何使用IPFS、IPNS和DNSLink托管静态网站。首先,创建并加入IPFS的静态网站,然后通过IPNS解决内容更新后的地址问题,最后通过DNSLink将复杂的IPNS地址转换为易于记忆的域名。通过这些步骤,你可以在IPFS网络上实现网站的高效托管。

 

这是一个快速教程,教你:

  • 在IPFS上托管一个简单的静态网站

  • 更改网站内容时,使用IPNS保留一个id(地址)

  • 使用DNSLink将IPNS id替换为可读的地址

 

首先你需要安装、初始化(https://ipfser.org/2019/09/06/ipfs-related-hand-in-hand-to-create-a-dedicated-ipfs-network-teaching/),并将IPFS连接到公共网络。

 

创建一个简单静态网站

你只需要一个简单静态的HTML页面,并且所有链接都是相对的。出于教学的目的,我在gist上放置了一个简单的hello world。并将这些文件放置在一个名叫“site”的文件夹中。

 

index.html

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>Hello IPFS!</title>

<link rel="stylesheet" href="./style.css" />

</head>

<body>

<h1>Hello IPFS!</h1>

<span>Hosting on IPFS is SimpleAsWater</span>

</body>

</html>

 

style.css

h1 {

color: #3f51b5;

}

 

加入IPFS

接下来,你需要将这个网站加入IPFS。

$ ipfs add -r site/

 

你需要看到这样的:

added QmaL9R8Mxpgn7gxiqYytccM3BWX1FZfSRNGPJChu62Xe2B site/index.html

added QmazEzEvcnQ6QRdMCMYPMFphen85G93x7qKpxgeCH2FFmu site/style.css

added QmQToNGFsGMkQe76mRirCvRykJSiRB1JPpRLumyMN7N67T site

最后一行的哈希就是你网站的根,你可以通过打开http://localhost:8080/ipfs/<你的哈希>来访问它。

你也可以从公共的IPFS网关来看这个网站,但这可能需要花费你几分钟,甚至几个小时来获取公共网关

https://gateway.ipfs.io/ipfs/QmQToNGFsGMkQe76mRirCvRykJSiRB1JPpRLumyMN7N67T

 

发布到IPNS

现在你已经获得了一个在IPFS上托管的简单静态的网站。那么问题来了,一旦你更新网站,这个哈希值就会改变,并且你已经分享的所有连接都只能指向旧版本。

 

因此,你需要找到一个总是分享最新哈希值的方法。这里就需要IPNS了。它允许你将IPFS的哈希存储在你peerID(你公钥的哈希)的名称空间中。

$ ipfs name publish <your site hash>

这可能需要花费几分钟时间,下面我们会看到如何利用DNSLink让它变得更快。

 

当你的网站使用IPNS发布以后,你会看到类似下面的一些链接:

Published to QmdZZgjYoh9sQUonNyefkMyXhEMXFC2rGvhXsJAbAPsF55: /ipfs/QmQToNGFsGMkQe76mRirCvRykJSiRB1JPpRLumyMN7N67T

这将返还你peerID和要向其发布的哈希。你可以通过运行以下命令进行确认:

$ ipfs name resolve <peerId>

这也需要几分钟。执行此操作后,你将看到以下内容:

/ipfs/QmQToNGFsGMkQe76mRirCvRykJSiRB1JPpRLumyMN7N67T

或者,你可以查看https://gateway.ipfs.io/ipns/ <peerID>(注意目录是IPNS而不是IPFS)。

 

几分钟后,你将能够看到你的网站(示例):

https://gateway.ipfs.io/ipns/QmdZZgjYoh9sQUonNyefkMyXhEMXFC2rGvhXsJAbAPsF55

大约12个小时后,IPNS会忘记(Time to Live System)发布的名称。你需要运行定时任务以在12小时内重新发布。

 

使用DNSLink

你需要使用一个托管服务,比如 AWS、GoDaddy ,来托管你的网站,以继续剩下的教程。或者你可以在这里就结束

 

IPNS并不是在IPFS上创建可变地址的唯一方法。你也可以使用DNSLink,这个在最近比IPNS更加迅速,也使用了更多易读的名称。

 

DNSLink地址看起来就像是IPNS地址,但它使用域名代替哈希公钥:

/ipns/simpleaswater.com

非常可爱不是么~让我们看看它是怎么实现的↓↓

 

我使用的是GoDaddy来托管我们的静态网站。当然你也可以使用任何其它的托管服务。

 

你需要增加一个DNS TXT记录,就像下面的这个。

 

NAME

RECORD TYPE

VALUE

simpleaswater.com

TXT

“dnslink=/ipns/[peerID]”

 

 

如果你不知道如何增加一个TXT记录,只需要搜索“add DNS txt record to <your hosting service name>”。

 

现在,就可以等待几分钟,让这些更改产生效果了。

 

看!现在我们可以使用一个可爱的链接进入我们可爱的网站啦~

https://gateway.ipfs.io/ipns/simpleaswater.com

 

—END—

 

本文由IPFS原力区编译,原文链接:https://simpleaswater.com/hosting-website-using-ipfs/

关注我们网站:https://ipfser.org

引谈 | 利用IPFS,IPNS和DNSLink托管一个网站 IPFS 第3张

【IPFS原力区】

价值观:价值 共建 共享 荣耀

总部位于上海,聚集基于分布式网络&存储的众多技术大咖和爱好者,深耕基于 IPFS 的商业生态建设和社区发展。

每周二举办“分布式存储网络”主题沙龙,聚集了众多技术大咖和 IPFS 爱好者,通过持续输出全面、精细、优质的IPFS咨询和技术支持,将生态中的爱好者转化为IPFS支持者和参与者,共建IPFS生态的健康发展。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值