Skip to content

A Rust-based implementation of a peer-to-peer network using the libp2p protocol suite.

Notifications You must be signed in to change notification settings

hasnocool/litep2p_network

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project Title: Litep2P Network

Description

I built this to create a highly scalable and performant peer-to-peer (P2P) network using Rust and the Litep2p library. This project aims to showcase the flexibility of Litep2p by implementing multiple transport protocols (TCP and QUIC), event-driven architecture, and a range of built-in features.

Features

One cool feature is... Multi-Transport Support! Our Litep2P Network uses both TCP and QUIC transports to ensure seamless communication between nodes. We also have:

  • Built-in support for IPFS PING protocol
  • Efficient event-driven architecture using Tokio and Futures libraries
  • Request-response protocol with configurable settings

More Features (Coming Soon!)

  • Integration with existing networks like InterPlanetary File System (IPFS)
  • Advanced security features like encryption and authentication
  • Support for multiple network protocols (e.g., TCP, QUIC, WebSockets)

Installation

To get started, make sure you have Rust and Cargo installed on your machine. Then, run the following command:

cargo build --release

This will compile the project in release mode.

Usage

Run the project using:

cargo run

You should see some logs indicating that the P2P node is running and listening for incoming connections.

Event Loop

The event loop allows our P2P node to handle events from various sources, such as new connections, ping requests, or request-response messages. You can see this in action by running the project and observing the console output.

Contributing

Contributions are welcome! If you'd like to contribute to this project, please submit a pull request with your changes. I'm thinking about adding support for other network protocols; maybe you have an idea or two?

License

This project is licensed under the Apache License 2.0. See LICENSE in the root directory.

Tags/Keywords:

  • Peer-to-Peer (P2P)
  • Litep2p
  • Rust
  • Tokio
  • Futures
  • QUIC
  • TCP

Releases

No releases published

Packages

No packages published

Languages