Docs | Releases | Contribute | Website
Configurable node server implementation for the p2panda
network running as a
command line application
or embedded via the library
inside your Rust program.
The core p2panda
specification
is fully functional but still under review so please be prepared for breaking API changes until we reach v1.0. Currently no p2panda implementation has recieved a security audit.
- Awaits signed operations from clients via GraphQL.
- Verifies the consistency, format and signature of operations and rejects invalid ones.
- Stores operations of the network in an SQL database of your choice (SQLite, PostgreSQL).
- Materializes views on top of the known data.
- Answers filterable and paginated data queries via GraphQL.
- Discovers other nodes in local network and internet.
- Replicates data with other nodes.
Embed the node server in your Rust application or web container like Tauri
:
use aquadoggo::{Configuration, Node};
let config = Configuration::default();
let node = Node::start(config).await;
You can also run the node server simply as a command line application:
# Compile and run local node at http://localhost:2020/graphql
cargo run
# Enable logging
RUST_LOG=aquadoggo=info cargo run
.. or run it inside a Docker container:
docker run -p 2020:2020 -e RUST_LOG=aquadoggo=info p2panda/aquadoggo
cargo add aquadoggo
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