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

news/2024/5/9 22:23:09/文章来源:https://blog.csdn.net/IPFSForce/article/details/103598851

 

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

  • 在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生态的健康发展。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_858995.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IPFS周报-83期:Opera浏览器、ETH网站纷纷入驻IPFS!

协议实验室 编制 IPFS原力区 编译 星际文件系统&#xff08;IPFS&#xff09;是一种新的超媒体分发协议&#xff0c;通过内容和身份进行寻址。IPFS支持创建完全分布式应用程序&#xff0c;它的目的是使网络更快、更安全、更开放。 以下是本期IPFS周报的一些亮点&#xff1a; …

IPFS周报-85期:IPFS发行网站改成什么样了?

协议实验室 编制 IPFS原力区 编译 星际文件系统&#xff08;IPFS&#xff09;是一种新的超媒体分发协议&#xff0c;通过内容和身份进行寻址。IPFS支持创建完全分布式应用程序&#xff0c;它的目的是使网络更快、更安全、更开放。 以下是本期IPFS周报的一些亮点&#xff1a; …

Django框架实现可运营电商网站(一)-- 后台部分

文章目录 0 业务准备工作0.1 产品需求描述0.2 业务主体描述0.3 业务逻辑描述业务点 1、项目准备工作1.1、创建项目&#xff08;可用pycharm&#xff0c;也可使用命令&#xff0c;这里用命令行来演示&#xff09;1.2、pycharm操作1.3、配置子url、app静态文件夹、app网页文件夹1…

Django框架实现可运营电商网站(二)-- 前台部分

文章目录 1 前台模板修改1.1 模板制作1.2 静态链接1.3 在视图和路由中关联所有页面1.4 修改跳转链接1.5 运行项目1.6 收集静态文件 2 建模3 注册与登陆3.1 注册页面3.1.1 样式3.1.2 需要导入的所有包&#xff1a;3.1.3 密码加密函数&#xff1a;3.1.4 邮箱发送函数&#xff1a;…

mysql 5.6.12源码_最新LAMP源码搭建网站平台PHP5.5.1 + Apache2.4.6 + mysql5.6.12

记录一下&#xff0c;今天配置的这台网站服务器&#xff0c;大部分都是在官方找的最新版源码包。 1.下载安装所需要的最新软件源码包&#xff0c;包括最新的apache、mysql、php以及相关库文件的源码包。 2.检查安装时使用的编译工具是否存在。 3.卸载默认的低版本环境及rpm包环…

网站服务器如何导入数据库,网站服务器如何导入数据库

网站服务器如何导入数据库 内容精选 换一换 PostgreSQL支持逻辑备份。您可使用pg_dump逻辑备份功能&#xff0c;导出备份文件&#xff0c;再通过psql导入到RDS中&#xff0c;实现将PostgreSQL的数据导入到云数据库RDS中。云数据库RDS服务支持开启公网访问功能&#xff0c;通过弹…

阿里云服务器ubuntu18-04下使用wordpress搭建网站/ ‎编辑

** 阿里云服务器ubuntu18-04下使用wordpress搭建网站/ ‎编辑 ** 一. 服务器领取 高校学生可以免费领取,此处不做详述: 二. 配置wordpress 首先进入控制台&#xff1a; 然后远程登陆服务器&#xff08;xshell、putty等&#xff09;。 输入以下两条命令&#xff1a; &…

身为Android程序猿,必不可少的十大网站

&#xfeff;&#xfeff; 身为Android程序猿&#xff0c;必不可少的十大网站&#xff0c;让你更加高效的去开发。 第一&#xff0c;Google&#xff08;http://www.google.com/&#xff09;谷歌是Google公司开发的互联网搜索引擎。主要提供网页搜索&#xff0c;图片搜索&#…

手把手教你每个人都可以拥有的个人博客网站

题记 ------去过的地方越多&#xff0c;越知道自己想回到什么地方去&#xff01; 雨又下了一夜&#xff0c;曾经多少次觉得下雨天是最适合睡觉的天气。而最近的雨&#xff0c;总感觉有些嘈杂&#xff0c;总怕吵醒远方睡梦中的星&#xff0c;晨。以至于翻来覆去睡不着。但是&…

手把手教你使用Hexo和github搭建免费个人博客网站

俗话说的好“吃水不忘挖井人”&#xff0c;当自己体验过Hexo搭建个人网站后&#xff0c;也来分享一下搭建过程遇到的乐趣以及遇到的坑&#xff01; 准备工作&#xff08;电脑配置工具&#xff09; 在搭建Hexo博客之前&#xff0c;首先需要简单在你电脑安装一些工具以及依赖包…

大型网站架构演变和知识体系

之前也有一些介绍大型网站架构演变的文章&#xff0c;例如LiveJournal的、ebay的&#xff0c;都是非常值得参考的&#xff0c;不过感觉他们讲的更多的是每次演变的结果&#xff0c;而没有很详细的讲为什么需要做这样的演变&#xff0c;再加上近来感觉有不少同学都很难明白为什么…

【Python 爬虫 CASE】使用Selenium+BeautifulSoup获取新闻网站文章列表

一、需求 获取腾讯新闻网站(https://news.qq.com/)首页的新闻标题和列表 F12打开开发者工具&#xff0c;查看源代码 二、实现 Step1&#xff1a;获取网页源代码 如果使用requests库获取源代码 import requests res requests.get(http://news.qq.com/)但是这种方式获取的…

【Python 爬虫 CASE】使用Requests+BeautifulSoup获取新闻网站文章内容并整理成表

一、需求 获取新浪新闻网站(http://news.sina.com.cn/china/)首页的新闻内容 F12打开开发者工具&#xff0c;查看源代码 打开新闻链接&#xff0c;获取该新闻文章的“内容”、“标题”、“来源” F12打开开发者工具&#xff0c;查看源代码 二、实现 Step1&#xff1a;构建…

Magento开发教程 - 后台设置多个网站,商店和商店视图

1: 创建产品根目录 登录到Magento 2后台.点击 Products > Categories.点击 Add Root Category.在 Category Name 输入分类名称. 确保 Enable Category 设置 Yes. 如下图&#xff1a; 点击 Save. 2: 创建 websites&#xff08;网站&#xff09; 点击 Stores > 设置 >…

visual studio 2010教程-创建网站项目

1.打开visual studio 2010 选择新建 - 网站 2.进行对应的设置 3.创建完毕之后&#xff0c;在解决方案资源管理器中出现对应的项目 4.在项目名称上 右键 - 添加新项 5.选择web窗体&#xff0c;并命名新建的页面为index.aspx 6.创建完毕之后的工程 7.首页的源代码如下 8.接下来…

项目总结——Java web之实现当当网网站

Java web之实现当当网网站 运行环境&#xff1a;JDK1.8tomcat8.4MySQL5servlet技术 源码结构 CategoryDAO.java package com.tarena.dao;import java.sql.SQLException; import java.util.List;import com.tarena.entity.Category;public interface CategoryDAO {public Lis…

如何使用IIS发布网站?

如何使用IIS发布网站&#xff1f; 1.搜索输入 IIS&#xff0c;找到IIS&#xff08;Internet Information Services&#xff09; 2.添加网站 3.填写相关内容属性 4.浏览默认文档 5.浏览发布界面 有任何疑问和和源码需求敬请关注公众号【蜗牛资源社】 欢迎交流学习&#x…

C++网站开发MVC框架TreeFrog Framework教程——2.简单示例

下面以一个博客文章管理网站的开发实例作为这个框架的使用入门教程。 1.安装TreeFrog Framework 下面以Ubuntu为例说明&#xff1a; 1.1.安装框架的依赖库&#xff1a; $ sudo apt-get install -y qt5-default qt5-qmake libqt5sql5-mysql libqt5sql5-psql libqt5sql5-odb…

C++网站开发MVC框架TreeFrog Framework教程——8.Otama模板

Otama模板系统的最大特点在于表现层的纯粹性&#xff0c;使用原生的HTML标签取代形如<%...%>这样的嵌入脚本代码。 使用之前&#xff0c;记得把配置文件&#xff08;development.ini&#xff09;中的模板系统设置为Otama&#xff1a; TemplateSystemOtamaOtama模板文件…