Links

Key Management Overview

Sagacli and Key Management

sagacli stores and manages your key pairs. You can either create a new key or import your existing key(s).
These keys may be in any format as long as the format is supported by the Tendermint crypto library. It can be used by light-clients, full nodes, or any other application that needs to sign with a private key.

Keyring

The keyring supports the following backends:
os
Uses the operating system's default credentials store.
file
Uses encrypted file-based keystore within the app's configuration directory. This keyring will request a password each time it is accessed, which may occur multiple times in a single command resulting in repeated password prompts.
kwallet
Uses KDE Wallet Manager as a credentials management application.
pass
Uses the pass command line utility to store and retrieve keys.
test
Stores keys insecurely to disk. It does not prompt for a password to be unlocked and it should be use only for testing purposes.
kwallet and pass backends depend on external tools. Refer to their respective documentation for more information: KWallet https://github.com/KDE/kwallet pass https://www.passwordstore.org/
The pass backend requires GnuPG: https://gnupg.org/

Supported Functions

To view key management functions supported by sagacli, look at the output below.
$ sagacli keys --help
Usage:
sagacli keys [command]
Available Commands:
add Add an encrypted private key (either newly generated or recovered), encrypt it, and save to <name> file
delete Delete the given keys
list List all keys
rename Rename an existing key
show Retrieve key information by name or address
Flags:
-h, --help help for keys
Global Flags:
--chain-id string The network chain ID
--controller string controller grpc url (host:port) (default "localhost:19090")
--from string Name of private key used to sign (default "ashish")
--keyring-backend string Select keyring's backend (os|file|test) (default "os")
--ledger Use the connected Ledger device for signing tx
-l, --loglevel string commands logging level (default "info")
--node string <host>:<port> to tendermint rpc interface for remote chain (default "tcp://spc.eks-cluster-1-kukkoo.sagarpc.io:26657")
-o, --output string output type <text|json> (default "text")
Use "sagacli keys [command] --help" for more information about a command.