distributed-topic-tracker
Decentralized auto-bootstrapping for iroh-gossip topics using the mainline BitTorrent DHT.
Quick Start
Add dependencies to Cargo.toml:
[]
= "1"
= "1"
= "0.9"
= "*"
= "*"
= "0.2"
Basic iroh-gossip integration:
use Result;
use ;
use Gossip;
use SigningKey;
// Imports from distributed-topic-tracker
use ;
async
Protocol
- Details (spec): PROTOCOL.md
- Architecture: ARCHITECTURE.md
- Feedback: Issue #5
Features
- Decentralized bootstrap for iroh-gossip topics
- Ed25519 signing and HPKE shared-secret encryption
- DHT rate limiting (per-minute record caps)
- Resilient bootstrap with retries and jitter
- Background publisher with bubble detection and peer merging
Testing
Unit Tests
Run core component tests:
End-to-End Tests
Verify peer discovery across Docker containers:
# Requires Docker and Docker Compose
The E2E test confirms multiple nodes discover each other via DHT and join the same gossip topic.
Roadmap
- Finalize crate name and publish to crates.io
- Tests and CI
- Add more examples
- Optimize configuration
- Major refactor
- Make
iroh-gossipintegration a feature (repurposed for rustpatcher) - API docs
License
Licensed under Apache-2.0 or MIT you choose.
Contributing
- Test and provide feedback: Issue #5
- PRs, issues, and reports welcome.
Contributions are dual-licensed as above unless stated otherwise.