Crates.io | aquadoggo |
lib.rs | aquadoggo |
version | 0.8.0 |
source | src |
created_at | 2021-10-25 20:04:39.036906 |
updated_at | 2024-06-26 12:48:44.455065 |
description | Embeddable p2p network node |
homepage | |
repository | https://github.com/p2panda/aquadoggo |
max_upload_size | |
id | 471162 |
size | 1,252,491 |
aquadoggo
is a reference node implementation for p2panda. It is a intended as a tool for making the design and build of local-first, collaborative p2p applications as simple as possible, and hopefully even a little fun!
aquadoggo
can run both on your own device for local-first applications, or on a public server when acting as shared community infrastructure. Nodes like aquadoggo
perform a number of tasks ranging from core p2panda data replication and validation, aiding the discovery and establishment of connections between edge peers, and exposing a developer friendly API used for building applications.
📖 Read more about nodes in our learn section
🐬 Visit the main repo README for more general info
For using aquadoggo
in your Rust project, you can add it as a dependency with the following command:
cargo add aquadoggo
Run the node directly next to the frontend you're building for full peer-to-peer applications. Check out our Tauri example for writing a desktop app.
use aquadoggo::{Configuration, Node};
use p2panda_rs::identity::KeyPair;
let config = Configuration::default();
let key_pair = KeyPair::new();
let node = Node::start(key_pair, config).await;
If you are not working with Rust you can create FFI bindings from the aquadoggo
crate into your preferred programming language. Dealing with FFI bindings can be a bit cumbersome and we do not have much prepared for you (yet), but check out our Meli Android project as an example on how we dealt with FFI bindings for Dart / Flutter.
Check out our Releases section where we publish binaries for Linux, RaspberryPi, MacOS and Windows.
The Protocol Buffers compiler must be installed in order to compile aquadoggo.
On a Debian-based OS run:
$ sudo apt install -y protobuf-compiler
See the installation documentation for more options.
GNU Affero General Public License v3.0 AGPL-3.0-or-later
This project has received funding from the European Union’s Horizon 2020 research and innovation programme within the framework of the NGI-POINTER Project funded under grant agreement No 871528 and NGI-ASSURE No 957073