diff --git a/README.md b/README.md index 2d9a23b..d74f658 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,13 @@ # Moat: The Citadel SDK +[![CI](https://github.com/dusk-network/moat/actions/workflows/dusk_ci.yml/badge.svg)](https://github.com/dusk-network/moat/actions/workflows/dusk_ci.yml) [![Repository](https://img.shields.io/badge/github-moat-blueviolet?logo=github)](https://github.com/dusk-network/moat) -**Moat** (a.k.a. the Citadel SDK) contains all the required tools for using and implementing self-sovereign identity systems using the Citadel protocol integrated into the Blockchain of Dusk. +**Moat** (a.k.a. the Citadel SDK) contains all the required tools for using and implementing self-sovereign identity systems using the Citadel protocol integrated into the Dusk Blockchain. ## Prerequisites -**Moat** requires a reachable Rusk node installed and running, or selecting a trusted one. You can set up a node as explained [here](https://wiki.dusk.network/en/setting-up-node). It also requires an installed wallet connected to the given Rusk node, as explained [here](https://github.com/dusk-network/wallet-cli/blob/main/src/bin/README.md). Then you should specify the Rusk node address in `config.toml`. +**Moat** requires a reachable Rusk node installed and running, or selecting a trusted one. You can set up a node as explained [here](https://wiki.dusk.network/en/setting-up-node). It also requires an installed wallet connected to the given Rusk node, as explained [here](https://github.com/dusk-network/wallet-cli/blob/main/src/bin/README.md). ## Testing the environment @@ -17,13 +18,14 @@ cargo t --release --features="exp_tests" -- --test-threads=1 cargo t --release --features="int_tests" -- --test-threads=1 ``` -## Usage +## Moat CLI -The moat-cli utility can be used from the POV of any of the parties involved in the Citadel protocol, let them be: +The `moat-cli` utility can be used from the POV of any of the parties involved in the Citadel protocol, let them be: - **User:** A party requesting licenses onchain to LPs, and being able to use the licenses onchain as well. - **License Provider (LP):** A party receiving onchain requests from users to issue licenses onchain addressed to them. - **Service Provider (SP):** A party receiving offchain requests from users to grant services. +To use the CLI, you should specify the Rusk node address in `config.toml`. Then, you can execute the CLI for any of the involved parties as follows. ### User @@ -48,3 +50,7 @@ SPs can get requests from users to grant their services, and accept or deny them ```sh cargo r --release --bin moat-cli-sp -- --wallet-pass ``` + +## Moat API + +An API meant for developers willing to integrate Citadel in their code is available [here](https://github.com/dusk-network/moat/blob/main/moat-core/src/api.rs). You can find an example on how to use the API into `moat-example`.