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
 
 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

说明

结合ipns 以及txt 记录我们可以灵活的扩展我们的系统,同时可以灵活的进行切换(使用不同hashid 的publish访问)

参考资料

https://docs.ipfs.io/reference/api/cli/#ipfs-name-publish
https://github.com/ipfs/ipfs

使用ipns 解决ipfs 内容更新的问题的更多相关文章

  1. 使用ipns 为ipfs 系统自定义域名

    ipns 可以帮助我们进行寻址操作,但是默认的hashid 还是太长,不好记忆,ipns 同时也支持 基于域名的解析,我们添加txt 记录就可以方便的解决ipfs 文件访问地址难记的问题,使用的是 一 ...

  2. 解决安卓SDK更新dl-ssl.google.com无法连接的方法

    Q:解决安卓SDK更新dl-ssl.google.com无法连接的方法: A1.修改C:\windows\system32\dirvers\etc\hosts文件,将其复制到其他地方修改后替换回原来的 ...

  3. 根据excel表格中的内容更新Sql数据库

    关于[无法创建链接服务器 "(null)" 的 OLE DB 访问接口 SQL Server 2008读取EXCEL数据时,可能会报这个错误:无法创建链接服务器 "(nu ...

  4. 利用广播调用后台服务方法并根据方法返回的内容更新UI

    一.UI布局代码 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns ...

  5. Git 如何把master的内容更新到分支

    Background: 当有人对master进行更新之后,你想让已经创建的分支内容更新到master的最新状态, bpan@5CG7022BM2 MINGW64 /d/GitRep/JIRA_Exte ...

  6. js控制滚动条在内容更新超出时自动滚到底部

    //滚动条在内容更新时自动滚到底部var message = document.getElementById('message');message.scrollTop = message.scroll ...

  7. 官方一步解决各种Windows更新问题

    原文部分: 修复 Windows 更新问题 适用于: Windows 8.1Windows 10Windows 7   此分布指南有什么作用? 此分步指南提供的步骤可修复 Windows 更新的问题, ...

  8. 解决wpscan无法更新

    如果wpscan无法更新的话 一般的原因都是源或者更新地址无法访问 下面解决 updatedb #先更新一下系统的索引 locate wpscan #定位到wpscan的目录 大概就是updater. ...

  9. RSA加密-解密以及解决超长内容加密失败解决

    加解密(没有使用到证书):https://blog.csdn.net/qy20115549/article/details/83105736 生成证书网站:https://blog.csdn.net/ ...

随机推荐

  1. 协程(Coroutine)与多线程,多进程

    执行多个任务可以使用多线程或多进程. 多进程中,同一个变量,各自有一份拷贝存在于每个进程中,互不影响 多线程中,所有变量都由所有线程共享.而线程间的切换是系统进行调度,无法控制,所以可能 一个进程中的 ...

  2. ubuntu下修改MYSQL数据库密码

    在介绍修改密码之前,先介绍一个文件/etc/MySQL/debian.cnf.其主要内容如下图: 里面有一个debian-sys-maint用户,这个用户只有Debian或Ubuntu服务器才有,所以 ...

  3. mongoose的笔记

    本文地址转载自:http://www.cnblogs.com/egger/archive/2013/06/14/3135847.html  本文将介绍操作符的使用,配合操作符,我们可以执行更加复杂的操 ...

  4. CentOS7安装配置Bacular

    参考: http://blog.51cto.com/molewan/2045602 https://blog.csdn.net/heshangkung/article/details/47955023 ...

  5. DevExpress ASP.NET v18.2新功能详解(三)

    行业领先的.NET界面控件2018年第二次重大更新——DevExpress v18.2日前正式发布,本站将以连载的形式为大家介绍新版本新功能.本文将介绍了DevExpress ASP.NET Cont ...

  6. DevExpress WinForms使用教程:图表控件 - 内置深入查询

    [DevExpress WinForms v18.2下载] 在最新发布的DevExpress WinForms v18.2中,DevExpress WinForms和ASP.NET图表控件引入嵌套系列 ...

  7. JavaWeb:一个Servelt多个请求

    一个Servelt多个请求 基础模拟 方法一:使用switch方法  一.方法介绍 方法:switch 优点:方法简单,明了 缺点:维护麻烦,保密性不好 二.代码实现 1.servlet类 packa ...

  8. ios UITableView背景图片设置

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPa ...

  9. 去掉 input type="number" 在浏览器中遗留的图标样式

    input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{  /* chrome */     -webkit-appeara ...

  10. python pygame实现简单的网游

    此示例为简单的实现游戏服务器端和客户端的消息同步,使用自定定义协议,引入了twisted网络框架,还有诸多不足(其实就是半成品). 资源下载地址: http://download.csdn.net/d ...