Skip to content
Snippets Groups Projects
Select Git revision
  • release/1.9.1 protected
  • pini-1.8-docker
  • pini-sync-onlypeers
  • duniter-v2s-issue-123-industrialize-releases
  • feature/build-aarch64-nodejs16
  • release/1.8 protected
  • pini-docker
  • ci_tags
  • fix/1448/1.8/txs_not_stored
  • dev default protected
  • feature/node-20
  • fix/1441/node_summary_with_storage
  • fix/1442/improve_bma_tx_history
  • feature/wotwizard-1.8
  • release/1.9 protected
  • 1.7 protected
  • feature/docker-set-latest protected
  • feature/fast-docker-build-1.8.4
  • fast-docker-build protected
  • feature/dump-distance
  • v1.8.7 protected
  • v1.8.7-rc4 protected
  • v1.8.7-rc3 protected
  • v1.8.7-rc2 protected
  • v1.8.7-rc1 protected
  • v1.8.6 protected
  • v1.7.23 protected
  • v1.8.5 protected
  • v1.8.4 protected
  • v1.8.3 protected
  • v1.8.2 protected
  • v1.8.1 protected
  • v1.8.0 protected
  • v1.8.0-rc1 protected
  • v1.8.0-beta5 protected
  • v1.8.0-beta4 protected
  • v1.8.0-beta3 protected
  • v1.8.0-beta2 protected
  • v1.8.0-beta protected
  • v1.7.21 protected
40 results

rust-libs

  • Clone with SSH
  • Clone with HTTPS
  • gcli

    CLI client for Duniter-V2S.

    Using

    Install

    Download from release or build with cargo build.

    On debian derived systems you can also : check on release page for latest version then in bash cli :

    GCLI_VERSION={change me with latest version (0.2.14 in 2024 summer) and remove {}}
    wget https://git.duniter.org/clients/rust/gcli-v2s/-/jobs/artifacts/$GCLI_VERSION/raw/target/debian/gcli_$GCLI_VERSION-1_amd64.deb?job=build_linux
    mv gcli_* gcli_package.deb
    dpkg -i gcli_package.deb

    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)

    Changelog

    For a detailed list of changes, see the CHANGELOG.