Ğcli version 0.4.1

Change started by @poka to support both ed25519 and sr25519 crypto-scheme and use ed25519 by default - linked to this post - Use ed25519 vs sr25519 for v2s clients

Full release notes (also available in the release page and in CHANGELOG.md):

[0.4.1] - 2025-04-08

Added / Changed

  • We now use ed25519 crypto scheme by default for all commands. It means that if you import your substrate mnemonic without giving a specific argument to change the crypto scheme, the resulting SS58 address will not be the same as before (it was using sr25519 for substrate mnemonic previously)
    • Extra -c / --crypto-scheme argument allows to specify which crypto scheme to use (sr25519 or ed25519) and having a default value of ed25519 in most places.
      • this argument is present in all places where you could provide -S / --secret-format argument
    • Due to that change, the display of the vault (vault list ... commands) will not display the g1v1 public key of all ed25519 <Base> keys by default anymore; you will have to provide an extra --show-g1v1 argument for that.
    • Another impact is that we can now vault derive any key; including the ones with ed25519 crypto-scheme.
      • It is still highly recommended to only derive keys based on a substrate mnemonic; as old g1v1 keys with their manual id & secret are not as secure as using a generated substrate mnemonic.
    • There is an exception to the impacted commands: vault migrate will still import old key files as sr25519 crypto-scheme keys; as it would otherwise not correspond to the SS58 Address of those key files.
  • It is now possible to perform vault import and vault derive commands without interactive prompts if all necessary optional arguments are provided.
    • Please check for more details with commands:
      • vault import --help
      • vault derive --help
    • If the command tries to override an existing vault entry, then it will still require manual input from the user!
  • Adapted commands identity link-account and identity change-owner-key
    • Made it clear that the arguments are meant to “target” another account
    • Added possibility to provide the “target” account from the vault
      • -a SS58 Address of target vault account
      • -v Name of target vault account
    • -S (secret_format) doesn’t have a default anymore since it conflicts with using -a or -v
  • Adapted vault inspect command to display more information
    • Substrate URI (was already present)
    • Crypto scheme: to be more coherent since both the substrate uri and crypto-scheme are needed to create the key with the proper address
    • Secret seed/mini-secret: only computed if no soft (single ‘/’) derivation are used
    • Public key (hex)
    • SS58 Address
    • (potential G1v1 public key if inspecting a <Base> account with ed25519 crypto-scheme)
  • Small changes
    • In the vault, changed sorting of children account so that they are sorted by derivation Path value (makes more sense when viewing derivations of one account)

Fixed

  • None

Deprecated

  • Two commands are still deprecated and will be removed in a future release:
    • gcli vault list-files
    • gcli vault migrate

Removed

  • None

CI/CD

  • None
3 Likes

I have a question regarding the development of Gcli command line features.
Given the ever-increasing number of commands and sub-commands, are there any plans to implement the auto-completion feature?
That would be super useful.

1 Like

This is a feature for @PacoVelobs who already added clap-complete on Duniter and might be interested to add it to Ǧcli :wink: