Ğcli version 0.4.0

A new Ğcli version is available on the release page.

The major version bump (0.3.0 to 0.4.0) is mainly due to the fact we now use a database to persist the vault entries, support importing different formats into the vault as well as adding derivations on sr25519 crypto scheme account/address.

For some example of using the vault with the new version, check here.

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

Changed

  • Old key files cannot be used directly anymore, they have to be migrated to the SQLite file database. You can use the following commands for that:
    • gcli vault list-files lists old key files from previous versions
    • gcli vault migrate which allows to migrate old key files into the vault database
  • Some arguments and commands were adapted
    • Arguments
      • SecretFormat (-S): cesium was renamed to g1v1 - but it will still work properly if using cesium
      • Several arguments were renamed for clarity. Examples:
        • <TARGET> => <USERNAME>
        • <ACCOUNT_ID> => <ADDRESS>
    • Commands
      • gcli vault import now has an optional SecretFormat -S argument with substrate as default value
        • It is now possible to import substrate URI, seed, g1v1 id/secret (old “cesium”) keys into the vault.
      • gcli vault list now has sub-commands and only shows Addresses from the SQLite file database

Added

  • Support for SQLite file database to persist vault data
  • global -v <NAME> argument to select a vault Address by name (mutually exclusive with -a <ADDRESS> argument)
  • Already mentioned in the “Changed” section above, but it is now possible to add different kind of keys to the vault when doing vault import
    • Default providing substrate URI (or -S substrate): can be a mnemonic or a mini-secret (‘0x’ prefixed seed) together with optional derivation path; using Sr25519 crypto scheme
    • -S seed: using the 32 character hexadecimal secret seed; using Sr25519 crypto scheme
    • -S g1v1 (or -S cesium): allows to input G1v1 id and secret; using Ed25519 crypto scheme
  • Added possibility to derive non g1v1/cesium Addresses (see gcli vault derive)
  • Some commands were added
    • gcli vault list all List all SS58 Addresses and their linked derivations in the vault
    • gcli vault list for List and Derivation SS58 Addresses linked to the selected one
    • gcli vault list base List all SS58 Addresses in the vault
    • gcli vault use Use specific SS58 Address (changes the config Address)
    • gcli vault derive Add a derivation to an existing SS58 Address
    • gcli vault rename Give a meaningful name to an SS58 Address in the vault
    • gcli vault remove Remove an SS58 Address from the vault together with its linked derivations
    • gcli vault inspect Inspect a vault entry, retrieving its Substrate URI (will provide more data in a future version)
    • gcli vault list-files (deprecated) List available key files (needs to be migrated with command vault migrate in order to use them)
    • gcli vault migrate (deprecated) Migrate old key files into db (will have to provide password for each key)

Fixed

  • None

Deprecated

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

Removed

  • None

CI/CD

  • #45, !42:
    • In linux build job, switch to “non-slim” Debian image which provides libssl-dev now required
    • Introduce linux tests job (#46)
  • !38: Build deb and macos pkgs in parallel

If you have any issues with the new version, feel free to respond or create a new post and tag me.

PS: Post made in english, but feel free to respond in french as well :smiley:

5 Likes