https://github.com/mighty-gerbils/gerbil-libp2p
Gerbil native libp2p implementation
https://github.com/mighty-gerbils/gerbil-libp2p
gerbil libp2p scheme
Last synced: about 1 month ago
JSON representation
Gerbil native libp2p implementation
- Host: GitHub
- URL: https://github.com/mighty-gerbils/gerbil-libp2p
- Owner: mighty-gerbils
- License: apache-2.0
- Created: 2024-07-27T19:36:43.000Z (10 months ago)
- Default Branch: master
- Last Pushed: 2024-08-08T18:43:10.000Z (9 months ago)
- Last Synced: 2025-03-26T05:23:46.060Z (about 2 months ago)
- Topics: gerbil, libp2p, scheme
- Language: Scheme
- Homepage:
- Size: 11.7 KB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# gerbil-libp2p
This packages provides a native Gerbil implementation of the
[libp2p](https://github.com/libp2p/specs/) networking stack.## Overview
The implementation will loosely follow the
[go-libp2p](https://github.com/libp2p/go-libp2p) architecture, as far
as the host interface is concerned.Specifically, the main user interface is the `Host`, and the I/O interface is the `Stream` -- see [libp2p/interface.ss](libp2p/interface.ss).
## Development Roadmap
This is just beginning; these are our plans:
### MVP
This is the very basic functionality of libp2p; we just want to
implement enough of the host to talk to a go-libp2p program
implementing a basic echo protocol, both as a client and as a server.That means:
- implement enough of the Host to connect to a peer, open a stream as a client, and handle a stream as server.
- protocol requirements:
- multistream select for handshake/mux negotiation
- tls handshake (or noise, eventually both)
- yamux
- identify### Advanced Host APIs
- peerstore
- network
- resource manager
- event bus### Advanced Functionality
As we build towards production, we are going to need some more components:
- autonat client for nat detection
- relay/v2 client, dcutr, and dht client for hole punching
- dht client for bootstrap/routing
- pubsub/gossipsub### Public Node Functionality
- autonat server
- relay/v2 server
- dht server### QUIC
This is a very big endeavor in itself, so it might take a while; volunteers welcome.
## Copyright and License
© 2024 The Mighty Gerbils Contributors;
distributed with the Gerbil License, dual Apache-2.0 and LGPL v2.1.