Skip to content

thep2p/skipgraph-rust

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Skip Graph (Rust)

An open-source implementation of Skip Graphs middleware written in Rust.

Overview

Skip Graph is a distributed data structure designed to achieve efficient search, insert, and delete operations over a dynamic peer-to-peer network. This project provides a Rust-based implementation of Skip Graph middleware, suitable for building distributed systems requiring a P2P routing overlay or distributed key-value store.

Prerequisites

To use or contribute to this project, you need to have the following installed:

  • Rust: Ensure you have Rust installed. You can download it from Rust's official website. The minimum required version is rustc 1.89.0 (29483883e 2025-08-04).
  • Cargo: Cargo is the Rust package manager and is included with the Rust installation. The minimum required version is cargo 1.88.0 (873a06493 2025-05-10). .

Getting Started

Follow these steps to set up and start working on the project.

Cloning the Repository

Start by cloning this repository to your local machine:

git clone github.com/thep2p/skipgraph-rust.git
cd skipgraph-rust

Installing Dependencies

Run the following command to install required tools and dependencies:

make install-tools

This command will:

  • Install and update Rust, if necessary.
  • Install the clippy component for linting.

Usage

Running the Tests

To ensure the project runs properly, execute the test suite using:

make test

This command runs the cargo test command, executing all available unit tests to verify the implementation.

Linting

To check the code for common issues and adhere to best practices, use the following command:

make lint

This command runs cargo clippy, a linting tool for Rust projects.

Development

Adding New Tools

If you want to extend the tooling provided by this project, add new tasks to the Makefile and group them under appropriate targets.

Contributing

Contributions to this project are welcome! Feel free to fork the repository, make your changes, and submit a pull request. Ensure you follow these steps before submitting:

  1. Run the tests using make test.
  2. Lint the code using make lint.

By following these steps, you'll help maintain the code quality and robustness of the project.

License

This project is under Apache 2.0 License. See the LICENSE file for more details.

About

Open source implementation of Skip Graphs middleware in Rust

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •