4 releases

0.12.5 Dec 9, 2023
0.12.4 Nov 12, 2023
0.12.3 Sep 22, 2023
0.12.2 Aug 30, 2023

#7 in #kademlia

MIT license

180KB
3K SLoC

Rust libp2p Server

A rust-libp2p based server implementation running:

Usage

cargo run -- --help

A rust-libp2p server binary.

Usage: libp2p-server [OPTIONS] --config <CONFIG>

Options:
      --config <CONFIG>              Path to IPFS config file
      --metrics-path <METRICS_PATH>  Metric endpoint path [default: /metrics]
      --enable-kademlia              Whether to run the libp2p Kademlia protocol and join the IPFS DHT
      --enable-autonat               Whether to run the libp2p Autonat protocol
  -h, --help                         Print help
cargo run -- --config ~/.ipfs/config

Local peer id: PeerId("12D3KooWSa1YEeQVSwvoqAMhwjKQ6kqZQckhWPb3RWEGV3sZGU6Z")
Listening on "/ip4/127.0.0.1/udp/4001/quic"
[...]

The Docker container includes libp2-lookup to enable adding a proper healthcheck for container startup, e.g.

docker run --health-cmd 'libp2p-lookup direct --address /ip4/127.0.0.1/tcp/4001/p2p/QmQCU2EcMqAqQPR2i9bChDtGNJchTbq5TbXJJ16u19uLTa' /home/ipfs/.ipfs:/ipfs ghcr.io/libp2p/rust-libp2p-server --config /ipfs/config

Dependencies

~19–56MB
~1M SLoC