使用ipns 解决ipfs 内容更新的问题
ipds 可以使用dnslink 解决域名访问的问题,但是内容变更我们就会有新的hashid
解决方法我们可以使用ipns ,同时解决dnslink 解决域名的问题
环境准备
- docker-compose 文件
version: "3"
services:
ipfs:
image: ipfs/go-ipfs:latest
hostname: ipfs_host1
volumes:
- "./export:/export"
- "./data/ipfs:/data/ipfs"
ports:
- "5001:5001"
- "4001:4001"
- "80:8080"
- 启动
docker-compose up -d
- 添加内容
inside 容器,docker-compose 文件指定的是export 目录,方便数据倒入的
ipfs add -r /目录
效果
/ # ipfs add -r /export/user/
added QmV96U2JtqpmJnPkR4Qpx6soWUH25jM7tAaBY4E8sGNL3A user/index.css
added QmYdF665gYwhAD5XxBWi73fddxyk2uZTk22DzpajU9grbo user/index.html
added QmeqDjW8oPsTHedRLmwcW8TULJgYQFTZu5dHqAamtpVjKo user
- 访问
添加ipns 发布
- ipns 发布
稍有点慢
ipfs name publish /ipfs/QmeqDjW8oPsTHedRLmwcW8TULJgYQFTZu5dHqAamtpVjKo
ipfs name publish /ipfs/QmeqDjW8oPsTHedRLmwcW8TULJgYQFTZu5dHqAamtpVjKo
Published to QmfAvGbLuXbjZhy8PKSHTS5C55uGpS3WMg6YSLgd9aTKJP: /ipfs/QmeqDjW8oPsTHedRLmwcW8TULJgYQFTZu5dHqAamtpVjKo
- 访问
http://ip/ipns/QmfAvGbLuXbjZhy8PKSHTS5C55uGpS3WMg6YSLgd9aTKJP - 更新内容
修改index.html 内容,并重新生成hashid
ipfs add -r /export/user/
added QmV96U2JtqpmJnPkR4Qpx6soWUH25jM7tAaBY4E8sGNL3A user/index.css
added QmcCiftPwAC4VU3URL8cckniXrez3jbaoStnhh9gwDvRCb user/index.html
added QmXgvQL7bNXY58yBW4QvdFFhpTPhoG1Jhn2crBVjgNtm3d user
- 重新publish
从结果可以看出ipns 的id 是不变的
ipfs name publish /ipfs/QmXgvQL7bNXY58yBW4QvdFFhpTPhoG1Jhn2crBVjgNtm3d
Published to QmfAvGbLuXbjZhy8PKSHTS5C55uGpS3WMg6YSLgd9aTKJP: /ipfs/QmXgvQL7bNXY58yBW4QvdFFhpTPhoG1Jhn2crBVjgNtm3d
- 访问更新的界面
http://ip/ipns/QmfAvGbLuXbjZhy8PKSHTS5C55uGpS3WMg6YSLgd9aTKJP 配置dnslink
添加a 记录以及txt 记录,注意txt 记录使用了ipns 的地址域名访问效果
域名为demo.necores.com
说明
结合ipns 以及txt 记录我们可以灵活的扩展我们的系统,同时可以灵活的进行切换(使用不同hashid 的publish访问)
参考资料
https://docs.ipfs.io/reference/api/cli/#ipfs-name-publish
https://github.com/ipfs/ipfs
使用ipns 解决ipfs 内容更新的问题的更多相关文章
- 使用ipns 为ipfs 系统自定义域名
ipns 可以帮助我们进行寻址操作,但是默认的hashid 还是太长,不好记忆,ipns 同时也支持 基于域名的解析,我们添加txt 记录就可以方便的解决ipfs 文件访问地址难记的问题,使用的是 一 ...
- 解决安卓SDK更新dl-ssl.google.com无法连接的方法
Q:解决安卓SDK更新dl-ssl.google.com无法连接的方法: A1.修改C:\windows\system32\dirvers\etc\hosts文件,将其复制到其他地方修改后替换回原来的 ...
- 根据excel表格中的内容更新Sql数据库
关于[无法创建链接服务器 "(null)" 的 OLE DB 访问接口 SQL Server 2008读取EXCEL数据时,可能会报这个错误:无法创建链接服务器 "(nu ...
- 利用广播调用后台服务方法并根据方法返回的内容更新UI
一.UI布局代码 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns ...
- Git 如何把master的内容更新到分支
Background: 当有人对master进行更新之后,你想让已经创建的分支内容更新到master的最新状态, bpan@5CG7022BM2 MINGW64 /d/GitRep/JIRA_Exte ...
- js控制滚动条在内容更新超出时自动滚到底部
//滚动条在内容更新时自动滚到底部var message = document.getElementById('message');message.scrollTop = message.scroll ...
- 官方一步解决各种Windows更新问题
原文部分: 修复 Windows 更新问题 适用于: Windows 8.1Windows 10Windows 7 此分布指南有什么作用? 此分步指南提供的步骤可修复 Windows 更新的问题, ...
- 解决wpscan无法更新
如果wpscan无法更新的话 一般的原因都是源或者更新地址无法访问 下面解决 updatedb #先更新一下系统的索引 locate wpscan #定位到wpscan的目录 大概就是updater. ...
- RSA加密-解密以及解决超长内容加密失败解决
加解密(没有使用到证书):https://blog.csdn.net/qy20115549/article/details/83105736 生成证书网站:https://blog.csdn.net/ ...
随机推荐
- 【转载四】Grafana系列教程–Grafana基本概念
在上面几篇文章中,我们介绍了Grafana的安装配置以及运行的方法,本篇文章我们就来介绍下Grafana的基本概念. 有问题欢迎加群讨论,InfluxDB&Grafana技术交流群:58048 ...
- 第三节 java 数组
一维数组: 同一种类型数据的集合,其实数组就是一个容器. 好处: 可以自动给数组中的元素从0开始编号,方便操作这些元素. 格式1: 元素类型[] 数组名 = new 元素类型 [元素个数或者元素长度 ...
- Eclipse快捷键+遇到补充
MyEclipse 快捷键1(CTRL) Ctrl+1 快速修复Ctrl+D: 删除当前行Ctrl+Q 定位到最后编辑的地方Ctrl+L 定位在某行Ctrl+O 快速显示 OutLineCtrl+T ...
- oracle截取字符串区间段的一部分字符串
Oracle SQL中实现indexOf和lastIndexOf功能,substr和instr用法 博客分类: oracle PL/SQL instrsubstrlastindexofindexofo ...
- <Java><类与对象><OOP>
Overview 类 封装(encapsulation): 也称为数据隐藏.从形式上看,是将数据与行为组合起来,并对对象的使用者隐藏了数据的实现方式.封装给对象赋予了黑盒特征,提高重用性和可靠性. 继 ...
- mysql 优化2
6. 合理使用EXISTS,NOT EXISTS子句.如下所示: 1.SELECT SUM(T1.C1) FROM T1 WHERE (SELECT COUNT(*)FROM T2 WHERE T2. ...
- http 请求头部解析
作者:知乎用户链接:https://www.zhihu.com/question/42696895/answer/109035792来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请 ...
- 选择器(&伪)/盒模型
一.选择器高级 1.组合选择器: /*群主选择器 : 同时可以控制多个选择器*/ /*#dd,div,#a{}*/ /* d{ 起相同类名 color: red; }*/ 举例: .d1,.d2,.d ...
- Day20作业及默写
1.请使用C3算法计算出链接图中的继承顺序-Link 一 graph BT id1[A]-->id2[B] id2[B]-->id6[F] id6[F]-->id7[G] id1[A ...
- scrapy-CrawlSpider的rules使用规则
1.allow设置规则的方法:要能够限制在我们想要的url上面.不要跟其他的url产生相同的正则表达式即可: 2.什么情况下使用follow:如果在爬取页面的时候,需要将满足当前条件的url再进行跟进 ...