Colonio is a peer-to-peer networking library that makes distributed algorithms easy to use. It builds a WebRTC-based overlay network where nodes communicate directly with each other, reducing server load and enabling real-time applications.
- Messaging — Send a message to a specific node by its ID, with request/response support
- Spread — Broadcast a message to all nodes within a geographic area (geocast)
- KVS — Distributed key-value store with Raft consensus (under development)
Colonio also supports running nodes in the browser via WebAssembly.
Colonio consists of two components:
- Seed — A server that handles node registration and WebRTC signaling
- Node — A client that joins the P2P network and communicates with other nodes
After bootstrap, nodes establish direct WebRTC connections and relay packets through the overlay network.
For details, see Architecture (ja).
- Go
- TypeScript (Optional, for browser integration and bundling)
make testApache License 2.0