-
-
Notifications
You must be signed in to change notification settings - Fork 3.1k
bug: local node missing from /routing/v1/providers results #10408
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
Comments
Not returning self as provider on @hacdias you may remember the details, how involved it would be to check local blockstore in parallel to kubo routing system, and inject self if we have the block? ps. |
🤷, I can see either way here. Sure, the node can do a check like I can see a few potential issues from doing this:
That being said if others really feel this should be here I won't object (although if it causes more work around ipfs/specs#388 I'll advocate for dropping this change). |
Something else to consider here maybe is that if the goal is to have a PeerInfo for the current node appear in it's own routing output if that node has the block being searched for, and that PeerInfo is to contain a HTTP multiaddr, we should be able to override the host/port in that multiaddr. I.e. browsers will expect a DNS+HTTPS address and will error if it ends up being IP+HTTP. |
Why does the latter imply the former? You can advertise DNS-based multiaddrs and you shouldn't need anything special in the local routing-v1 implementation to do so since you'd want other node's routing-v1 implementations and local queries to also find your DNS address. If there's some kubo issue with over-resolution of DNS addresses that seems like a separate bug to file and fix. |
@SgtPooki Is this still an issue. If no, please close. |
sorry for the delay, looking now |
@gammazero It is not fixed, where fixed means the local kubo node returns itself as a provider. The local kubo node is still not in the list of providers. I updated the output in the reproduction repo: https://github.com/SgtPooki/repro-kubo-not-announcing-self-as-provider/tree/56a5b53868875496524f5922da1cdf8b50712456 Some questions
|
We should have a configuration option to control:
Those two settings will allow Kubo to expose Together with ipfs-cluster (having multiple Kubo's like that) and caching delegated routing proxies like someguy (querying those kubo's /routing/v1 endpoints) this enables people to self-host big amounts of data without announcing them on DHT, and provide delegated routing endpoint that can be plugged into existing systems. Wider context:
|
Checklist
Installation method
ipfs-desktop
Version
Config
config is via ipfsd-ctl in https://github.com/SgtPooki/repro-kubo-not-announcing-self-as-provider/blob/5fa8b9cfad9b7f5b0a991d7efc58062f824591d8/index.js#L16-L40
Description
Repro at https://github.com/SgtPooki/repro-kubo-not-announcing-self-as-provider/
Basically, if I enable
ExposeRoutingAPI
, andNoFetch
, I should at least get the local kubo node to return itself as a router.Another question here: is there any scenario where respecting
NoFetch
makes sense with routing/v1 api? i.e. not querying the network for providers, only returning providers we know about? If locally configured providers makes sense at all, do we need a second config option, or can we overloadNoFetch
?cc @hacdias @lidel
The text was updated successfully, but these errors were encountered: