命令行创建不同的IPNS的key并进行IPNS网站博客发布

默认 ipfs 会创建一个 key,用于 ipns 网站发布,但是如果有多个ipns网站,可以用 webui 进行管理,也可以用命令行进行管理。

使用命令行必须确保你的环境变量里面有 ipfs 。

命令教程

创建新的IPNS发布私钥key

ipfs key gen it-memo

执行后会返回一个字符串,就是你的key的访问地址,本站的是 k51qzi5uqu5dklfde21npwou4xoxs6eyiqsx482rhbku9twqf687obg5vop9fa

我这里对新的IPNS发布私钥的命名是it-memo ,你们可以根据需要自定义。

查看现有的IPNS发布私钥key

ipfs key list

你执行这个命令就会返回两行,selfit-memo

使用自定义IPNS发布私钥key发布网站

ipfs name publish --resolve=false -k=it-memo --lifetime=168h --ttl=5m /ipfs/QmTNdRzo2kf5xodsLiUGCRHcwajYny7BqLKChoSb5n3VEe

注意,默认IPNS发布后,其它节点缓存时间24小时,你需要保持你的发布IPNS的节点在线,其它节点才能正常使用这个IPNS。

--resolve=false 不验证资源的完整性,直接发布

--lifetime=168h 其它dht节点缓存7天

--ttl=5m 查找该记录的节点应该将其缓存 5 分钟,然后再查找

IPNS才发布几分钟后,可能其它网关打开会有一些慢。

IPNS实时更新

可以开启 PubSub ,接受实时的IPNS更新 ipfs config --json Ipns.UsePubsub true

PubSub 启用后:

  • IPNS 发布者除了将记录发布到 DHT 之外,还将记录推送到特定名称的 pubsub 主题。
  • IPNS 解析器在首次解析时订阅特定名称的主题,并通过 pubsub 实时接收后续发布的记录。这使得后续解析可以即时完成,因为它们是通过本地缓存解析的。

发布者和解析者节点都需要启用该功能才能有效工作。

访问网站

现在可以通过这个链接访问本站了:

如果你使用的 cloudflare 的 web3 网关,你在设置里面配置 /ipns/k51qzi5uqu5dklfde21npwou4xoxs6eyiqsx482rhbku9twqf687obg5vop9fa ,你更新IPNS后,网站就自动更新。

参考链接:discuss.ipfs.tech/t/how-do-i-make-my-ipns-records-live-longer/14768/2

0%