gpt4 book ai didi

validation - 如何检查提供的字符串是否是有效的 IPFS 或 IPNS 路径?

转载 作者:行者123 更新时间:2023-12-05 05:22:17 26 4
gpt4 key购买 nike

我想检查提供的字符串是否是有效的 IPFS 或 IPNS 路径。

例如当我这样做时:

ipfs ls <invalid-hash>
//waits keep searching ...

这不会返回任何东西,只会在程序中暂停,所以我需要等待,不知道给定的散列是否有效。

我用过:https://github.com/xicombd/is-ipfs但是我给函数的无效哈希字符串返回 true,所以它在我这边不能正常工作,有什么建议吗?

我可以等待 N 秒作为 ipfs 返回 ipfs cat valid-hashipfs ls valid-hash 结果的阈值,但 ipfs 的结果cat valid-hashipfs ls valid-hash 可能需要超过 N 秒的时间,这是不可信赖的。

例如:(我在节点应用程序中运行命令。)

[$] node 
const isIPFS = require('is-ipfs')
> isIPFS.multihash('QmYooooooooooooooooooooooooooooooooaoooooooooo')
true //returns true but it is an invalid ipfs hash, should have returned false.

感谢您宝贵的时间和帮助。

最佳答案

似乎 isIPFS 库只在语法层面上验证哈希的有效性(它是否以 Qm 开头?是否是预期的长度?),但不检查是否为可以使用此散列来寻址文件。

事实上,我认为除了等待 N 秒的答案外,断言无法使用特定哈希检索任何文件在技术上是不可行的。

像思考 HTTP 一样思考 IPFS。有时由于某些原因,HTTP 请求需要几分钟才能完成,但这并不意味着您尝试连接的 IP+端口无处可去。您的浏览器或应用程序将决定在任意时间后超时,以免永远等待,但您没有科学证据证明使用某个 HTTP 地址/IPFS 哈希无法访问任何内容。

关于validation - 如何检查提供的字符串是否是有效的 IPFS 或 IPNS 路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40879390/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com