Skip to content
Snippets Groups Projects
Moul's avatar
Moul authored
* identity show: switch received and issued certs position

Make more sense to me, you receive from the left and issue to the right

That’s how they are presented in Cesium and Silkaj
8c4a2cf8
History

gcli

CLI client for Duniter-V2S.

Using

Download from release or build with cargo build.

Usage

If using a different runtime, update the metadata for the client to compile:

subxt metadata -f bytes > res/metadata.scale

Send 10 ĞD from Alice to Ferdie:

cargo run -- --url ws://localhost:9944 --secret //Alice account transfer 1000 5CiPPseXPECbkjWCa6MnjNokrgYjMqmKndv2rSnekmSK2DjL

List certifications and session keys that will expire within one month:

cargo run -- --url wss://gdev.p2p.legal:443/ws smith expire --blocks 432000

For more examples see in the doc. cargo run -- is replaced by gcli as if the binary was added to your path.

Log level

You can adjust the log level:

export RUST_LOG=gcli=info

Runtime metadata

To update runtime metadata:

subxt metadata -f bytes > res/metadata.scale

Smith

You want to rotate keys and go online to start forging blocks.

Smith nodes must not expose a public RPC API. Then you can either use SSH directly, or make an SSH bridge by adding this to your local .bashrc:

alias duniter-rpc='ssh -L 9944:localhost:9944 duniter@gdev.example.tld'

Now the command duniter-rpc will open an SSH session and a bridge to your RPC API.

When your node is ready to forge blocks, rotate keys and go online:

gcli --secret "my secret phrase" smith update-keys
gcli --secret "my secret phrase" smith go-online

Keys

Secret and/or public keys can always be passed using --secret and --address. If needed, stdin will be prompted for secret key. An error will occur if secret and address are both given but do not match.

Secret key format can be changed using --secret-format with the following values:

  • substrate: a Substrate secret address (optionally followed by a derivation path), or BIP39 mnemonic
  • seed: a 32-bytes seed in hexadecimal (Duniter v1 compatible)