-
Notifications
You must be signed in to change notification settings - Fork 17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
failed to parse multiaddr: unknown protocol http-path #492
Comments
Version info:
|
eh, I think this means we need to get go-libipni updated. The original unofficial component was This PR: ipni/go-libipni#206 Comes after the version we are currently using here: https://github.com/ipni/go-libipni/releases/tag/v0.6.6 |
@bajtos do you have any other CIDs I can try for this? Nothing I try to retrieve seems to find candidates but I'm not sure if it's because I've messed something up on my end or if I just don't have a good range of indexed CIDs to try out. |
#495 would be worth a test if you have something to try out with |
I don't have any other CIDs, unfortunately. I discovered the problem by coincidence because our tests were using the CID Maybe you can ask the IPNI folks if they can find you CIDs stored with providers advertising http-path address. Here is an idea you can try:
Example provider info using http-path: {
"AddrInfo": {
"ID": "12D3KooWA9V3M5aEeZMfaGyxs6nCqW3QeZUidgkWkfhLJftdr3Ae",
"Addrs": [
"/dns/s1.node.storacha.network/https/http-path/blob%2F%7Bblob%7D",
"/dns/s1.node.storacha.network/https/http-path/claim%2F%7Bclaim%7D"
]
},
"LastAdvertisement": {
"/": "baguqeeradgcmpwo5ufjpd7qlakr4cqxqyvqqd276llglhx5lmvgk4lv7beuq"
},
"LastAdvertisementTime": "2024-12-12T00:02:15Z",
"Publisher": {
"ID": "12D3KooWA9V3M5aEeZMfaGyxs6nCqW3QeZUidgkWkfhLJftdr3Ae",
"Addrs": [
"/dns/s1.node.storacha.network/https"
]
},
"FrozenAt": null
}, The advertisement can be found here: Then you need to resolve the Entries link: {
"Entries": [
{
"/": {
"bytes": "EiDO0lRclII71qwYDzLuluWewpNRmnonxuNAZp1XxXi+oQ"
}
}
]
} Finally, you need to build a CID from the multihash bytes. I am using the following Node.js snippet, you can also use https://github.com/willscott/cid-utils. import { CID } from 'multiformats/cid'
import * as multihash from 'multiformats/hashes/digest'
const entryHash = 'EiDO0lRclII71qwYDzLuluWewpNRmnonxuNAZp1XxXi+oQ'
const payloadCid = CID.create(1, 0x55 /* raw */, multihash.decode(Buffer.from(entryHash, 'base64'))).toString()
console.log(payloadCid) Here is the final payload CID you can try to retrieve:
|
I'd also like to clarify that this issue is not a problem for Spark. In Spark, we implemented a custom IPNI resolution step, and we use Lassie to perform a Graphsync retrieval from the given provider multiaddr. We are not triggering the problem described in this issue. |
I guess storacha isn't doing http retrievals, or they're doing something custom, because that metadata they set in ipni can't be decoded as one of the standard ipni metadata types. 🤷 I guess I'll just merge and tag and see if anyone says anything. |
I am still puzzled why Spark is persisting with graphsync though, there's zero maintenance on it, it's a buggy protocol, we've been ripping out of tooling wherever we can and there was a whole lot of effort put in last year to embed bitswap into boost and then develop a whole new protocol (http) that's much better at doing this. It's not surprising that retrievability stats are so poor if we're measuring based on graphsync. |
We see that ~2/3rds of successful retrievals happen over Graphsync. It seems to me that the easiest way to configure Boost & Venus is to enable Graphsync, and so that's what most SPs do when they need to enable Spark to start measuring them. Our plan is to drop Graphsync in Spark v2, together with other breaking changes we are planning. |
I discovered this while troubleshooting a failing test. The test used to work fine until recently.
The text was updated successfully, but these errors were encountered: