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.
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).
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
).
AGPL-3.0