Keys

Keys模块用于管理IRIS的Tendermint本地密钥库(钱包)。

可用命令

名称 描述
add 创建新密钥,加密后存入磁盘
delete 删除指定的密钥
export 将密钥导出为json文件
import 从本地钥匙库导入私钥
list 列出所有密钥
migrate 从钥匙库将密钥信息迁移到另一个钥匙库
mnemonic 从一些输入熵中计算出bip32助记词
parse 将地址从hex解析为bech32,反之亦然
show 按名称或地址检索密钥信息

iris keys add

获得一个密钥并写入磁盘。

iris keys add <key-name> [flags]

标志:

名称,速记 默认 描述 必须
--multisig 构造和存储multisig公钥
--multisig-threshold 1 指定多签密钥最少签名数
--nosort false 传递给--multisig的密钥按其提供的顺序获取
--pubkey 解析bech32格式的公钥并将其保存到磁盘
--interactive false 交互式提示用户输入BIP39密码和助记词
--ledger false 对本地设备上的密钥存储的引用
--recover false 提供种子短语来恢复现有密钥
--no-backup false 不要打印出种子短语(如果其他人正在观看终端)
--dry-run false 执行操作,但不要向本地密钥库添加密钥
--hd-path 手动HD路径导出(覆盖BIP44 配置)
--coin-type 118 HD衍生的硬币类型编号
--account 0 高清衍生账号
--index 0 HD派生的地址索引号
--algo secp256k 生成密钥的密钥签名算法

创建密钥

iris keys add MyKey

执行该命令后输入并确认密码,将生成一个新的密钥。密码至少8个字符。

注意

重要

写下助记词并保存在安全的地方!如果你不慎忘记密码或丢失了密钥,这是恢复账户的唯一方法。

通过助记词恢复密钥

如果你忘记了密码或丢失了密钥,或者你想在其他地方使用密钥,可以通过助记词短语来恢复密钥。

iris keys add MyKey --recover

系统会要求你输入密钥的新密码并确认,然后输入助记词。然后你将得到恢复的密钥。

Enter a passphrase for your key:
Repeat the passphrase:
Enter your recovery seed phrase:

创建多签密钥

以下例子为创建一个包含3个子密钥的多签密钥,且指定最小签名数为2。只有交易签名数大于等于2时,该交易才会被广播。

iris keys add <multisig-keyname> --multisig-threshold=2 --multisig=<signer-keyname-1>,<signer-keyname-2>,<signer-keyname-3>

提示

<signer-keyname> 可以为“local/offline/ledger”类型,但不允许为“multi”类型。

如果你没有子密钥的所有许可,则可先请求获取pubkeys并以此创建“offline”密钥,然后你将可以创建多签密钥。

其中“offline”类型密钥可以通过“iris keys add --pubkey”命令创建。

如何使用多签密钥签名和广播交易,请参阅 multisig

iris keys delete

根据名称删除本地密钥

iris keys delete <key-name> [flags]

标志:

名称,速记 默认 描述 必须
--force, -f false 无密码强制删除秘钥
--yes, -y false 删除离线和ledger引用密钥时跳过确认提示

删除一个本地密钥

iris keys delete MyKey

iris keys export

将密钥keystore信息导出为json文件。

iris keys export <key-name> [flags]

导出keystore

iris keys export Mykey --output-file=<path-to-keystore>

iris keys import

将密钥导入到本地钥匙库

将密钥导入到本地钥匙库

iris keys import <name> <keyfile> [flags]

iris keys list

返回此密钥管理器存储的所有密钥的名称、类型、地址和公钥列表。

标志:

名称,速记 默认 描述 必须
--list-name List names only

列出所有密钥

iris keys list

iris keys migrate

将钥匙库中的钥匙信息迁移到新钥匙库

标志:

名称,速记 默认 描述 必须
--dry-run Run migration without actually persisting any changes to the new Keybase

迁移钥匙信息

iris keys migrate [flags]

iris keys mnemonic

通过读取系统熵来创建24个单词组成的bip39助记词(也称为种子短语)。如果需要传递自定义的熵,请使用unsafe-entropy模式。

iris keys mnemonic [flags]

标志:

名称,速记 默认 描述 必须
--unsafe-entropy 提示用户提供自定义熵,而不是通过系统生成

创建助记词

iris keys mnemonic

执行上述命令后你将得到24个单词组成的助记词,例如:

beauty entire blue tape ordinary fix rotate learn smart tiger dolphin cycle cigar dish alcohol slab bachelor vital design consider paper panther mad eternal

iris keys parse

将十六进制的密钥地址和指纹转换为标准输出并打印为bech32 cosmos前缀格式,反之亦然。

格式化打印密钥和指纹

iris keys parse <hex-or-bech32-address> [flags]

iris keys show

查询本地密钥的详细信息。

iris keys show <key-name> [flags]

标志:

名称,速记 默认 描述 必须
--address false 仅输出地址(覆盖 --output)
--bech acc 在账本设备中输出地址
--device false 查询命令帮助
--multisig-threshold 1 N个必需签名中的K个
--pubkey false 仅输出公钥 覆盖 --output)

查询指定密钥

iris keys show MyKey

执行命令后将会显示以下信息:

- name: Mykey
  type: local
  address: iaa1tulwx2hwz4dv8te6cflhda64dn0984harlzegw
  pubkey: iap1addwnpepq24rufap6u0sysqcpgsfzqhw3x8nfkhqhtmpgqt0369rlyqcg0vkgwzc4k0
  mnemonic: ""
  threshold: 0
  pubkeys: []

查询验证人operator地址

如果某个地址已绑定成为验证人operator(用于创建验证人的地址),则可以使用--bech val获取其iva前缀的operator地址和ivp前缀的公钥地址:

iris keys show MyKey --bech val

示例输出:

- name: Mykey
  type: local
  address: iva1tulwx2hwz4dv8te6cflhda64dn0984hakwgk4f
  pubkey: ivp1addwnpepq24rufap6u0sysqcpgsfzqhw3x8nfkhqhtmpgqt0369rlyqcg0vkgd8e6zy
  mnemonic: ""
  threshold: 0
  pubkeys: []