peach-workspace/peach-lib
glyph c21e2d090c introduce keystore selector for golgi 2022-05-11 16:42:11 +02:00
..
examples Fix example 2022-05-10 13:08:32 +02:00
src introduce keystore selector for golgi 2022-05-11 16:42:11 +02:00
.gitignore First workspace commit 2021-08-06 13:58:40 -04:00
Cargo.toml Change lazy_static to 1.4 2022-05-11 11:05:49 +02:00
README.md First workspace commit 2021-08-06 13:58:40 -04:00

README.md

peach-lib

Generic badge

JSON-RPC client library for the PeachCloud ecosystem.

peach-lib offers the ability to programmatically interact with the peach-network, peach-oled and peach-stats microservices.

Overview

The peach-lib crate bundles JSON-RPC client code for making requests to the three PeachCloud microservices which expose JSON-RPC servers (peach-network, peach-oled and peach-menu). The full list of available RPC APIs can be found in the READMEs of the respective microservices (peach-network, peach-oled, peach-menu), or in the developer documentation for PeachCloud.

The library also includes a custom error type, PeachError, which bundles the underlying error types into three variants: JsonRpcHttp, JsonRpcCore and Serde. When used as the returned error type in a Result function response, this allows convenient use of the ? operator (as illustrated in the example usage code below).

Usage

Define the dependency in your Cargo.toml file:

peach-lib = { git = "https://github.com/peachcloud/peach-lib", branch = "main" }

Import the required client from the library:

use peach_lib::network_client;

Call one of the exposed methods:

network_client::ip("wlan0")?;

Further example usage can be found in the peach-menu code (see src/states.rs).

Licensing

AGPL-3.0