Open lorenzleutgeb opened 3 months ago
@lorenzleutgeb Oh, hi there again. :D
@lorenzleutgeb Thanks for your interest. And I am aware of Radicle, such a cool project with good taste.
resolved to an address via a Pkarr Relay.
Can't wait to see your prototype, and you can also see other projects already using Pkarr like https://github.com/dvc94ch/p2p or https://iroh.computer/blog/iroh-global-node-discovery.
That being said, and out of an abundance of caution, I want to make sure you realize you don't need Pkarr relays, at least outside of browsers, you can always use the DHT directly, which is what happens when you call PkarrClient::resolve()
, and even if you use it in browser, you can and should use multiple relays in parallel. Pkarr uses relays and resolvers only to enhance latency, but never compromise on censorship resistance.
@Nuhvi Sweet :)
resolved to an address via a Pkarr Relay.
Can't wait to see your prototype, and you can also see other projects already using Pkarr like https://github.com/dvc94ch/p2p or https://iroh.computer/blog/iroh-global-node-discovery.
Actually I found out about Pkarr exactly via the page about global node discovery in iroh that you link :)
That being said, and out of an abundance of caution, I want to make sure you realize you don't need Pkarr relays, at least outside of browsers, you can always use the DHT directly, which is what happens when you call
PkarrClient::resolve()
, and even if you use it in browser, you can and should use multiple relays in parallel. Pkarr uses relays and resolvers only to enhance latency, but never compromise on censorship resistance.
Aye, I got that :) My idea was for Radicle Nodes to look up in the DHT directly via your Rust API, and using Relays only for web. Sorry for not being explicit.
@lorenzleutgeb Yes that should work pretty well, if you intend to run this experiment for a long time, you will need to add an interval task to republish records every hour or two, but other than that, I hope and expect that everything will work smoothly, and happy to support if you encountered any issues otherwise.
Hey there!
I recently started contributing to Radicle:
Simplifying a bit: Every user generates an Ed25519 identity and runs a Radicle Node associated with this identity. Radicle Nodes gossip updates via Git, including Patches and Issues.
For example, my identity:
As will be obvious to you, there's a discovery challenge. For now, DNS names of bootstrap nodes are baked in the binary, and passing around hostnames works okay, but it'd be nice to get addresses of other nodes just by their Radicle Node ID, which is an Ed25519 public key (using a different encoding than Pkarr does).
There's also Radicle Explorer, which is a web-based viewer for projects. As you'll notice from the example URL https://app.radicle.xyz/nodes/ash.radicle.garden/rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5 it currently encodes the address of the Radicle Node that should be contacted right in the path (the deployment at app.radicle.xyz may connect to an arbitrary Radicle Node via
radicle-httpd
, a bridge-like component similar to a Pkarr Relay). It'd be cool if this could be a Radicle Node ID, resolved to an address via a Pkarr Relay.Apart from the minor discrepancy of different encodings for keys, it looks like Pkarr would be a perfect match for Radicle. So I'm very hyped and happy that you are working on Pkarr. Thanks! I don't have anything particular to discuss here — I guess I would have to prototype an implementation first to see how it goes — but wanted to ping you anyway.
Feel free to check out the Radicle Zulip at radicle.zulipchat.com