更新 IPNS link 的工作原理
How Updating IPNS link works
我有一个目录,其中包含一些我已添加到 ipfs 的文件。
当我这样做时,我得到了目录中包含的文件的所有哈希值的列表。
例如:
File1.txt QYNOSMSLDFKAL12345
File2.txt QYNOSMSLDFKAL12346
File3.txt QYNOSMSLDFKAL12347
我现在将这个目录的ipfs hash发布到ipns,尝试获取File2.txt
通过使用以下网关 link:
http://ipfs.io/ipns/<ipns hash>/File2.txt
当有人试图在网关上获取文件时,它如何准确地找到 ipns 散列所在的位置? (随后目录中包含的文件 linked 到该散列)
我问这个是因为我想知道在以下情况下会发生什么:
我现在在我之前散列过的目录中修改File1.txt。当我重新添加目录时,我注意到只有 File1.txt 的散列发生了变化,这是有道理的。现在我有:
File1.txt QYNOSMSLDFKAL99999
File2.txt QYNOSMSLDFKAL12346
File3.txt QYNOSMSLDFKAL12347
我现在将此重新发布到与以前相同的 ipns link。
现在,当有人试图获取 ipfs 网关之前提供过且未更改的文件时 - 例如。 File2.txt - 网关在尝试找到这个 File2.txt 时是否必须从头开始,即使它的 ipfs 散列与以前相同,并且它的 ipns link 也相同?
即。 http://ipfs.io/ipns//File2.txt
我要说的是,如果新目录中包含的大部分文件都没有更改,更新 IPNS links 是否会产生大量开销?
提前致谢,
汤姆
如果您使用网关并使用包含 IPNS 的 link,则每次查找 link 时都会下载内容。最多可能有几秒钟的缓存header。这是不可避免的,因为 IPNS 名称的值可以随时更改。
如果您直接与 IPFS 交互,解析像 /ipns/<ipns hash>/File2.txt
这样的路径是一个两步过程。首先,IPNS 名称被翻译成 IPFS 哈希。然后遍历那个hash处的内容到叶子
因此,要解析上述路径,IPNS 名称必须当前 指向一个 IPFS 散列,该散列是一个目录 object,其中包含一个名为 child 的目录File2.txt
.
如果您未使用网关,您的本地 IPFS 守护程序会注意到目录 object 已更改,但 File2.txt
仍然具有哈希 QYNOSMSLDFKAL12346
并且 不会 再次下载它。
我有一个目录,其中包含一些我已添加到 ipfs 的文件。 当我这样做时,我得到了目录中包含的文件的所有哈希值的列表。
例如:
File1.txt QYNOSMSLDFKAL12345
File2.txt QYNOSMSLDFKAL12346
File3.txt QYNOSMSLDFKAL12347
我现在将这个目录的ipfs hash发布到ipns,尝试获取File2.txt 通过使用以下网关 link:
http://ipfs.io/ipns/<ipns hash>/File2.txt
当有人试图在网关上获取文件时,它如何准确地找到 ipns 散列所在的位置? (随后目录中包含的文件 linked 到该散列)
我问这个是因为我想知道在以下情况下会发生什么:
我现在在我之前散列过的目录中修改File1.txt。当我重新添加目录时,我注意到只有 File1.txt 的散列发生了变化,这是有道理的。现在我有:
File1.txt QYNOSMSLDFKAL99999
File2.txt QYNOSMSLDFKAL12346
File3.txt QYNOSMSLDFKAL12347
我现在将此重新发布到与以前相同的 ipns link。
现在,当有人试图获取 ipfs 网关之前提供过且未更改的文件时 - 例如。 File2.txt - 网关在尝试找到这个 File2.txt 时是否必须从头开始,即使它的 ipfs 散列与以前相同,并且它的 ipns link 也相同?
即。 http://ipfs.io/ipns//File2.txt
我要说的是,如果新目录中包含的大部分文件都没有更改,更新 IPNS links 是否会产生大量开销?
提前致谢,
汤姆
如果您使用网关并使用包含 IPNS 的 link,则每次查找 link 时都会下载内容。最多可能有几秒钟的缓存header。这是不可避免的,因为 IPNS 名称的值可以随时更改。
如果您直接与 IPFS 交互,解析像 /ipns/<ipns hash>/File2.txt
这样的路径是一个两步过程。首先,IPNS 名称被翻译成 IPFS 哈希。然后遍历那个hash处的内容到叶子
因此,要解析上述路径,IPNS 名称必须当前 指向一个 IPFS 散列,该散列是一个目录 object,其中包含一个名为 child 的目录File2.txt
.
如果您未使用网关,您的本地 IPFS 守护程序会注意到目录 object 已更改,但 File2.txt
仍然具有哈希 QYNOSMSLDFKAL12346
并且 不会 再次下载它。