Skip to content

PeerPiper/peerpiper

Repository files navigation

PeerPiper Workspace Monorepo

🚧 Alpha level software. The docs are a bit rough, but will give you an outline of the vision. Raise an issue if you run into troubles.

The core Rust libraries and front-end examples for the PeerPiper project. Mainly holds the peer-to-peer networking logic, the core data structures, and how to use them.

The idea is to put all the reusable code in this repo so it can be linked and tested in its entirety.

Goals

PeerPiper is an contacts network based on the PeerWise Protocol that allows you to share data with others in a peer-to-peer fashion. It's a bit like a social network, but you own your data and can share it with others in a more granular way.

PeerPiper Architecture

Deployment

The core library should include wrappers so that it can be deployed to various infrastructure providers:

Development dependencies

You'll need a few dependencies to get started:

🦀 Rust

  • Rust 1.78+ (use nightly as stipulated in the rust-toolchain.toml file)
  • Add wasm32-wasi target: rustup target add wasm32-wasi
  • Add wasm32-unknown-unknown target: rustup target add wasm32-unknown-unknown

Using binstall: cargo binstall cargo-component@0.10.1

Note that cargo-component is a work in progress and may not be stable. Configs, settings, and commands may change from version to version.

⚖️ Just

  • Just makes running batch commands easier. There's a justfile in the root of the project.

Development

Many of the commands used in development are in the justfile. You can see them by running just.