区块链 | IPFS:IPNS(实操版)

ops/2025/2/19 12:18:05/

🦊原文:Publishing IPNS names



Publishing IPNS names with Kubo

Step1: 启动你的 IPFS 守护进程(如果尚未运行):

$ ipfs daemon

说明:以 $ 开头的是命令,以 > 开头的是执行结果。



Step2: 打开另一个命令行窗口,创建想要被 IPNS 设置的文件。我们将创建一个简单的 hello.txt 文件:

$ echo "Hello IPFS" > hello.txt


Step3: 将你的文件添加到 IPFS 中:

$ ipfs add --cid-version 1 hello.txt> added bafkreidfdrlkeq4m4xnxuyx6iae76fdm4wgl5d4xzsb77ixhyqwumhz244 hello.txt
> 11 B / 11 B [=====================================================] 100.00%

记录下 IPFS 输出的 CID bafkreidfdrlkeq4m4xnxuyx6iae76fdm4wgl5d4xzsb77ixhyqwumhz244



Step4: 使用 cat 命令以及刚刚从 IPFS 获得的 CID 再次查看该文件:

$ ipfs cat bafkreidfdrlkeq4m4xnxuyx6iae76fdm4wgl5d4xzsb77ixhyqwumhz244> Hello IPFS


Step5: 将你的 CID 发布到 IPNS:

$ ipfs name publish /ipfs/bafkreidfdrlkeq4m4xnxuyx6iae76fdm4wgl5d4xzsb77ixhyqwumhz244> Published to k51qzi5uqu5dgy6fu9073kabgj2nuq3qyo4f2rcnn4380z6n8i4v2lvo8dln6l:
> /ipfs/bafkreidfdrlkeq4m4xnxuyx6iae76fdm4wgl5d4xzsb77ixhyqwumhz244

k51...l 是你正在运行的 IPFS 的公钥或 IPNS 名称。现在,你可以反复更改文件,并且即使更改文件时 CID 发生了变化,你也可以继续使用这个 k51...l 密钥访问文件。

原文的执行结果是没有换行的,我是看这里写不下了所以才换的行😇



Step6: 你可以通过以下两种方式查看你的文件:

浏览器地址栏输入

https://ipfs.io/ipns/k51qzi5uqu5dgy6fu9073kabgj2nuq3qyo4f2rcnn4380z6n8i4v2lvo8dln6l

或者命令行窗口输入

$ curl https://ipfs.io/ipns/k51qzi5uqu5dgy6fu9073kabgj2nuq3qyo4f2rcnn4380z6n8i4v2lvo8dln6l> Hello IPFS


Step7: 更改你的文件,将其添加到 IPFS,然后更新你的 IPNS:

$ echo "Hello again IPFS" > hello.txt
$ ipfs add hello.txt> added bafkreidbbor7mvra2xzzl4kmr2sxrtkzaxlzs6rsr5ktgmbtousuzrhlxq hello.txt
> 17 B / 17 B [=====================================================] 100.00%

可以看出 CID 发生了改变,虽然前几个字母和老 CID 一模一样😇

$ ipfs name publish bafkreidbbor7mvra2xzzl4kmr2sxrtkzaxlzs6rsr5ktgmbtousuzrhlxq> Published to k51qzi5uqu5dgy6fu9073kabgj2nuq3qyo4f2rcnn4380z6n8i4v2lvo8dln6l:
> /ipfs/bafkreidbbor7mvra2xzzl4kmr2sxrtkzaxlzs6rsr5ktgmbtousuzrhlxq

IPNS 名称没有发生变化。话说它是怎么知道这个文件就是之前那个文件的?根据 hello.txt 这个文件名吗?



Step8: 你现在可以使用相同的地址去查看更新后的文件:

https://ipfs.io/ipns/k51qzi5uqu5dgy6fu9073kabgj2nuq3qyo4f2rcnn4380z6n8i4v2lvo8dln6l

或者

$ curl https://ipfs.io/ipns/k51qzi5uqu5dgy6fu9073kabgj2nuq3qyo4f2rcnn4380z6n8i4v2lvo8dln6l> Hello again IPFS

你可以使用以下命令查看与你的 k5 密钥相关联的文件的 CID:

$ ipfs name resolve> /ipfs/bafkreidbbor7mvra2xzzl4kmr2sxrtkzaxlzs6rsr5ktgmbtousuzrhlxq

貌似 IPNS 名称都是以 k5 开头,所以被称为 k5 密钥?

要使用不同的 k5 密钥,请首先使用 key gen 命令创建一个密钥,并在 name publish 时使用 --key 标志:

$ ipfs key gen SecondKey> k51qzi5uqu5dh5kbbff1ucw3ksphpy3vxx4en4dbtfh90pvw4mzd8nfm5r5fnl$ ipfs name publish --key=SecondKey /ipfs/bafybeicklkqcnlvtiscr2hzkubjwnwjinvskffn4xorqeduft3wq7vm5u4> Published to k51qzi5uqu5dh5kbbff1ucw3ksphpy3vxx4en4dbtfh90pvw4mzd8nfm5r5fnl:
> /ipfs/bafybeicklkqcnlvtiscr2hzkubjwnwjinvskffn4xorqeduft3wq7vm5u4

这里的 CID 和上述两个 CID 不同,应该就是举的例子不同罢了。




http://www.ppmy.cn/ops/32426.html

相关文章

(一)深度神经网络的安全性和可信度的调查----验证、测试、对抗性攻击和防御,以及可解释性

在过去的几年中,深度神经网络(DNNs)在几个长期任务上实现人类水平的表现方面取得了重大进展。随着dnn在各种应用上的广泛应用,人们对其安全性和可信度的担忧被公开提出,特别是在广泛报道涉及自动驾驶汽车的致命事件之后…

3.SpringSecurity基本原理

SpringSecurity本质是一个过滤器链。十多个过滤器构成一个过滤器链。 这些过滤器在项目启动就会进行加载。每个过滤器执行放行操作才会执行下一个过滤器。 常见过滤器 FilterSecurityInterceptor 是一个方法级的权限过滤器,基本位于过滤器链的最底部。 Excepti…

软考网络工程师 第六章 第二部分 第三节 IP分类与特殊IP地址

IPV4地址分类 A类:1.0.0.0 - 127.255.255.255 B类:128.0.0.0 - 191.255.255.255 ABC类单播地址,应用最广 C类:192.0.0.0 - 223.255.255.255 D类:224.0.0.0 - 239.255.255.255 D类组播地址 E类&#x…

微信小程序 uniapp家庭食谱菜谱食材网上商城系统小程序ko137

随着生活节奏的不断加快,越来越多的人因为工作忙而没有时间自己出去订购喜欢的菜品。随着Internet的飞速发展,网络已经成为我们日常生活中必不可少的部分,越来越多的人也接受了电子商务这种快捷、方便的交易方式。网上订餐其独有的便捷性和直…

MongoDB的分片集群

MongoDB分片技术 介绍 ​ 分片(sharding)是MongoDB用来将大型集合分割到不同服务器上采用的方法。分片这种说法起源于关系型数据库。但是实际上非关系型数据库在分片方面相比于传统的关系型数据库更有优势。 ​ 与MySQL分库方案对比,MongoDB…

Python词频统计

在Python中进行词频统计是一项基础的文本分析任务,通常涉及以下步骤: 文本预处理:包括去除标点符号、转换为小写、去除停用词等。分词:将文本分割成单词或词汇。统计词频:对分词后的结果进行计数。 以下是一个简单的…

【PowerJob】从源码编译到k8s部署

前言 虽然PowerJob官方说支持JPA各种数据源,但在PG数据库的兼容性上,确实存在小问题,issue也有相关原理描述,官方采用的优雅方式并未真正解决问题,因为只解决了从Lob字段读取的时候,自动建表的时候还是会生…

工作问题记录React(持续更新中)

一、backdrop-filter:blur(20px); 毛玻璃效果,在安卓机上有兼容问题,添加兼容前缀也无效; 解决方案:让设计师调整渐变,不要使用该属性! 复制代码 background: radial-gradient(33% 33% at 100% 5%, #e9e5e5 0%, rgba…