keys
Keys allows you to manage your local tendermint keystore (wallets) for iris.
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
export
Export private keys
import
Import private keys into the local keybase
list
List all keys
migrate
Migrate keys from amino to proto serialization format
mnemonic
Compute the bip39 mnemonic for some input entropy
parse
Parse address from hex to bech32 and vice versa
show
Retrieve key information by name or address
rename
Rename an existing key
unsafe-export-eth-key
**UNSAFE** Export an Ethereum private key
unsafe-import-eth-key
**UNSAFE** Import Ethereum private keys into the local keybase
uptickd keys add
Derive a new private key and encrypt to disk.
uptickd keys add <name> [flags]
Flags:
--multisig
strings
List of key names stored in keyring to construct a public legacy multisig key
--multisig-threshold
string
1
K out of N required signatures. For use in conjunction with --multisig (default 1)
--nosort
Keys passed to --multisig are taken in the order they're supplied
--pubkey
string
Parse a public key in JSON format and saves key info to <name> file.
--interactive
Interactively prompt user for BIP39 passphrase and mnemonic
--ledger
Store a local reference to a private key on a Ledger device
--recover
Provide seed phrase to recover existing key instead of creating
--no-backup
Don't print out seed phrase (if others are watching the terminal)
--dry-run
Perform action, but don't add key to local keystore
--hd-path
string
Manual HD Path derivation (overrides BIP44 config)
--coin-type
uint32
60
coin type number for HD derivation (default 60)
--account
uint32
Account number for HD derivation (less than equal 2147483647)
--index
uint32
Address index number for HD derivation (less than equal 2147483647)
--algo
string
eth_secp256k1
Key signing algorithm to generate keys for (default "eth_secp256k1")
Create a new key
uptickd keys add MyKey
Recover an existing key from seed phrase
If you forget your password or lose your key, or you wanna use your key in another place, you can recover your key by your seed phrase.
uptickd keys add MyKey --recover
You'll be asked to enter the seed phrase. Then you get your key back.
> Enter your bip39 mnemonic
Create a multisig key
The following example creates a multisig key with 3 sub-keys, and specify the minimum number of signatures as 2. The tx could be broadcast only when the number of signatures is greater than or equal to 2.
uptickd keys add <multisig-keyname> --multisig-threshold=2 --multisig=<signer-keyname-1>,<signer-keyname-2>,<signer-keyname-3>
TIP
<signer-keyname>
can be the type of "local/offline/ledger", but not "multi" type.If you don't have all the permission of sub-keys, you can ask for the pubkeys to create the offline keys first, then you will be able to create the multisig key.Offline key can be created by "uptickd keys add --pubkey".
How to use multisig key to sign and broadcast a transaction, please refer to multisign
uptickd keys delete
Delete a local key by the given name.
uptickd keys delete <name>... [flags]
Flags:
--force, -f
FALSE
Remove the key unconditionally without asking for the passphrase. Deprecated
--yes, -y
FALSE
Skip confirmation prompt when deleting offline or ledger key references
--help, -h
FALSE
help for delete
Delete a local key
uptickd keys delete MyKey
uptickd keys export
Export the keystore of a key to a json file
uptickd keys export <name> [flags]
Export keystore
uptickd keys export Mykey --output-file=<path-to-keystore>
uptickd keys import
Import a ASCII armored private key into the local keybase.
Import a ASCII armored private key
uptickd keys import <name> <keyfile> [flags]
uptickd keys list
List all the keys stored by this key manager along with their associated name, type, address and pubkey.Flags:
--list-name
List names only
List all keys
uptickd keys list
uptickd keys migrate
Migrate key information from the legacy (db-based) Keybase to the new keyring-based Keybase.
Flags:
--dry-run
Run migration without actually persisting any changes to the new Keybase
Migrate key information
uptickd keys migrate [flags]
uptickd keys mnemonic
Create a bip39 mnemonic, sometimes called a seed phrase, by reading from the system entropy. To pass your own entropy, use unsafe-entropy
mode.
uptickd keys mnemonic [flags]
Flags:
--unsafe-entropy
Prompt the user to supply their own entropy, instead of relying on the system
Create a bip39 mnemonic
uptickd keys mnemonic
You'll get a bip39 mnemonic with 24 words, e.g.:
garment depart real arrow web impose place roast empty execute client lobster protect want identify upper trouble program seek ranch crumble distance gather twelve
uptickd keys parse
Convert and print to stdout key addresses and fingerprints from hexadecimal into bech32 cosmos prefixed format and vice versa.
Convert and print to stdout key addresses and fingerprints
uptickd keys parse <hex-or-bech32-address> [flags]
uptickd keys show
Get details of a local key.
uptickd keys show [name_or_address] [flags]
Flags:
--address
FALSE
Output the address only (overrides --output)
--bech
acc
The Bech32 prefix encoding for a key (acc/val/cons)
--device
FALSE
Output the address in a ledger device
--multisig-threshold
1
K out of N required signatures
--pubkey
FALSE
Output the public key only (overrides --output)
Get details of a local key
uptickd keys show MyKey
The following infos will be shown:
- address: uptick1pw0lu7sk2tjadp68aas4xhjp4uh67e26caqv7v
name: MyKey
pubkey: '{"@type":"/ethermint.crypto.v1.ethsecp256k1.PubKey","key":"A0NpxhHn0V4VfdBI2VxLQiH5zsUvu48umNKUtpALyia3"}'
type: local
Get validator operator address
If an address has been bonded to be a validator operator (which the address you used to create a validator), then you can use --bech val
to get the operator's address prefixed by iva
and the pubkey prefixed by ivp
:
uptickd keys show MyKey --bech val
Example Output:
- address: uptickvaloper1pw0lu7sk2tjadp68aas4xhjp4uh67e26t94cjq
name: MyKey
pubkey: '{"@type":"/ethermint.crypto.v1.ethsecp256k1.PubKey","key":"A0NpxhHn0V4VfdBI2VxLQiH5zsUvu48umNKUtpALyia3"}'
type: local
Last updated