noosphere_roast_client 1.0.0 copy "noosphere_roast_client: ^1.0.0" to clipboard
noosphere_roast_client: ^1.0.0 copied to clipboard

A client library for ROAST threshold signatures

Noosphere Client for ROAST Threshold Signatures #

This Dart library provides a Client class to communicate with a Noosphere coordinator server for the generation of FROST keys and Taproot Schnorr threshold signatures using coordinated Distributed Key Generation and ROAST.

This allows generation of one or more m-of-n threshold keys for a group of participants given by a GroupConfig. Clients can request new DKGs or signatures from the group, and may accept or reject requests made by others.

Consumers of the library should usually use the high-level Client class. The login() method allows a client to login with a given ClientConfig and ClientStorageInterface with a getter function to obtain the client's private key. The GrpcClientApi can be used as an ApiRequestInterface to communicate with a coordinator server over gRPC.

The server and the Client class tests are not included under this repository. The Client class integration with the server is tested elsewhere.

Installation #

To use the library, the underlying frosty package requires the associated native library which can be built from the frosty repository using Podman or Docker. Linux and Android builds are supported and require placing the libraries in the necessary location. Please see the frosty README.md.

0
likes
140
points
238
downloads

Publisher

verified publisherpeercoin.net

Weekly Downloads

A client library for ROAST threshold signatures

Repository (GitHub)

Documentation

API reference

License

BSD-3-Clause (license)

Dependencies

args, coinlib, collection, frosty, grpc, protobuf, synchronized, yaml, yaml_edit

More

Packages that depend on noosphere_roast_client