IPNS和DNSLink的使用说明

IPNS说明

IPNS全称InterPlanetary Name System,就是IPFS下的一个名称解析系统,类似于互联网的DNS,但是与DNS不同的是,IPNS是由节点自己维护的。

  • 一个IPNS解析后会得到一串文本,里面是IPFS地址。
  • 一个IPNS Name,对应了一个ID,一对密钥和一个本地的key name。
  • 每个运行中的IPFS节点,都有一个默认的IPNS Name,其key name就是self,其ID等于自己的PeerID,其密钥对就是节点的密钥对

IPNS使用

一个节点通过ipfs key gen命令可以创建无数个IPNS Name

ipfs key gen --type=rsa --size=2048 keyname

外界可以通过网关访问到IPNS对应的内容,例如

https://ipfs.io/ipns/QmeJHrUbuLEwB4YGw58ELE5BZYFw2zM6CsoZLxRQd8NZiL/

(所以在设置nginx转发的时候,记得除了要转发/ipfs,还要转发/ipns)

将IPFS内容发布到IPNS,通过ipfs name publish命令,例如

# 将IPFS CID发布到节点默认IPNS Name
ipfs name publish /ipfs/QmatmE9msSfkKxoffpHwNLNKgwZG8eT9Bud6YoPab52vpy # 将CID发布到其他IPNS Name,需要加上--key=xxx 参数,其值可以是key name,也可以是hash
ipfs name publish --key=mykey /ipfs/QmatmE9msSfkKxoffpHwNLNKgwZG8eT9Bud6YoPab52vpy

注意:这个命令的执行时间很长,在使用--enable-namesys-pubsub参数的情况下,需要50秒左右,在未使用该参数的情况下,需要两到三分钟。

DNSLink说明

DNSLink的介绍 https://dnslink.io/

这个技术简单地说, 就是让软件访问目标域名 A.COM 的时候, 自动去读取 _dnslink.A.COM 这个TXT记录, 通过这个TXT记录得到的地址信息去加载对应的页面.

DNSLink的使用

使用DNSLink, 需要一个可用的域名, 在域名(或二级域名)上添加一个高一级的记录, 名称为 _dnslink, 类型为 TXT, 值为为 dnslink=/ipfs/bafybeiejgrxo4p4uofgfzvlg5twrg5w7tfwpf7aciiswfacfbdpevg2xfy 或者 dnslink=/ipfs/QmaHbGR2PQwtAPL4BcbjuS2RkPsWxnhc2fGWx9fKoNSxnD, 注意这里值前面没有下划线.

添加好之后, 可以使用以下的命令来查看添加的结果(如果没设置成功, 可以用这些手段检查是哪里出问题了)

# 检查域名解析的TXT值是否正确
dig +short TXT _dnslink.libp2p.io
# 可以指定使用那个NS服务器来检查
dig @8.8.8.8 +short TXT _dnslink.libp2p.io
# 检查ipfs的解析结果是否正确
ipfs resolve -r /ipns/libp2p.io
# 检查ipfs解析的结果, 这个地址对应的内容
ipfs ls /ipns/libp2p.io

这些都没问题后, 就可以从浏览器访问了, 访问地址格式为 http://网关地址/ipns/libp2p.io, 例如

https://ipfs.drink.cafe/ipns/libp2p.io

将来有新内容发布时, 只需要更新_dnslink.libp2p.io 的TXT值.

IPNS和DNSLink的使用说明的更多相关文章

  1. IPFS星际节点网站 IPNS域名解析教程

    IPNS星际文件系统IPFS提供的域名命名空间,相当于经典HTTP协议中的DNS.只不过是,IPNS是将内容寻址的哈希值(HASH值)转换为域名,而DNS是将IP地址转换为域名. 前段时间,IPFS协 ...

  2. 使用ipns 解决ipfs 内容更新的问题

    ipds 可以使用dnslink 解决域名访问的问题,但是内容变更我们就会有新的hashid 解决方法我们可以使用ipns ,同时解决dnslink 解决域名的问题 环境准备 docker-compo ...

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

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

  4. IPFS学习-IPNS

    星际名称系统(IPNS)是一个创建个更新可变的链接到IPFS内容的系统,由于对象在IPFS中是内容寻址的,他们的内容变化将导致地址随之变化.对于多变的事物是有用的.但是很难获取某些内容的最新版本. 在 ...

  5. Atitit.项目修改补丁打包工具 使用说明

    Atitit.项目修改补丁打包工具 使用说明 1.1. 打包工具已经在群里面.打包工具.bat1 1.2. 使用方法:放在项目主目录下,执行即可1 1.3. 打包工具的原理以及要打包的项目列表1 1. ...

  6. awk使用说明

    原文地址:http://www.cnblogs.com/verrion/p/awk_usage.html Awk使用说明 运维必须掌握的三剑客工具:grep(文件内容过滤器),sed(数据流处理器), ...

  7. “我爱背单词”beta版发布与使用说明

    我爱背单词BETA版本发布 第二轮迭代终于画上圆满句号,我们的“我爱背单词”beta版本已经发布. Beta版本说明 项目名称 我爱背单词 版本 Beta版 团队名称 北京航空航天大学计算机学院  拒 ...

  8. Oracle 中 union 和union all 的简单使用说明

    1.刚刚工作不久,经常接触oracle,但是对oracle很多东西都不是很熟.今天我们来了解一下union和union all的简单使用说明.Union(union all): 指令的目的是将两个 S ...

  9. Map工具系列-02-数据迁移工具使用说明

    所有cs端工具集成了一个工具面板 -打开(IE) Map工具系列-01-Map代码生成工具说明 Map工具系列-02-数据迁移工具使用说明 Map工具系列-03-代码生成BySQl工具使用说明 Map ...

  10. Map工具系列-03-代码生成BySQl工具使用说明

    所有cs端工具集成了一个工具面板 -打开(IE) Map工具系列-01-Map代码生成工具说明 Map工具系列-02-数据迁移工具使用说明 Map工具系列-03-代码生成BySQl工具使用说明 Map ...

随机推荐

  1. Icoding 链表 删除范围内结点

    1.题目: 已知线性表中的元素(整数)以值递增有序排列,并以单链表作存储结构.试写一高效算法,删除表中所有大于mink且小于maxk的元素(若表中存在这样的元素),分析你的算法的时间复杂度. 链表结点 ...

  2. Linux系统下安装JDK8和Maven3.8.5

    一.下载JDK8Linux版本 官网下载太慢了,小编这里为大家下载好了: 链接:百度网盘地址 提取码:ov24 二.下载Maven maven3.8.5下载链接 三.使用xftp上传到linux上 四 ...

  3. 【C/C++】 代码质量控制手段

    问题引入 多人协作开发的项目,没有统一的代码规范,那么最终的编写状态必定风格迥异,产生的结果:对内,阅读审核代码是很痛苦的:对外,公司形象就是差. 单干的项目也必须要严格按照代码规范,因为最终还是会对 ...

  4. Python Code_05位运算

    coding:utf-8 author : 写bug的盼盼 development time : 2021/8/28 7:16 print(4&8)#非1即0 print(4|2)#同0即0, ...

  5. Go-测试-testing

  6. [转帖]Export Prometheus metrics from SQL queries

    https://github.com/albertodonato/query-exporter query-exporter is a Prometheus exporter which allows ...

  7. systemctl 关闭图形界面的办法

    开机以命令模式启动,执行: systemctl set-default multi-user.target   开机以图形界面启动,执行: systemctl set-default graphica ...

  8. K3S +Helm+NFS最小化测试安装部署只需十分钟

    作者:郝建伟 k3s 简介 官方文档:k3s 什么是k3s k3s 是一个轻量级的 Kubernetes 发行版 它针对边缘计算.物联网等场景进行了高度优化. k3s 有以下增强功能: 打包为单个二进 ...

  9. KubeSphere2.1踩坑记

    至少两台机器.推荐4X16.(完全安装KubeSphere会吃掉10G+内存) k8s安装(略1.14.8)可参考我上一篇文章或者基于kubeadmin快速安装 KubeSphere2.1前置条件 1 ...

  10. 1.1 Windows驱动开发:配置驱动开发环境

    在进行驱动开发之前,您需要先安装适当的开发环境和工具.首先,您需要安装Windows驱动开发工具包(WDK),这是一组驱动开发所需的工具.库.示例和文档.然后,您需要安装Visual Studio开发 ...