Electrum 提供强大的命令行界面。本指南涵盖了使用 CLI 的基本概念,并针对 Electrum 4.0 及更高版本进行了更新。
获取帮助
查看所有可用的 Electrum 命令:
electrum help
有关特定命令的详细信息:
electrum help <command>
使用 Electrum 守护进程
Electrum 命令通常与运行中的守护进程交互。下面介绍如何管理守护进程:
electrum daemon -d
electrum getinfo
electrum stop
某些操作需要装入钱包。管理钱包
electrum load_wallet # this will load the default wallet
electrum load_wallet -w /path/to/wallet/file
electrum list_wallets
加载钱包后,您可以执行与钱包相关的任务:
electrum listaddresses
发送付款:
electrum payto <address> <amount>
对于不需要网络访问的命令,使用 --offline
旗子
electrum -o listaddresses
electrum -o payto <address> <amount>
electrum -o -w /path/to/wallet/file listaddresses
特殊命令快捷键(妙语)
Electrum 的命令行界面支持多种特殊字符,以增强功能:
感叹号 (!) 的使用 !
表示交易中的最大可用金额。
例如
electrum payto 1JuiT4dM65d8vBt8qUYamnDmAMJ4MjjxRE !
这将向指定地址发送最大可用资金。交易费用将自动计算并扣除。
问号(? ?
提示您输入参数值。
例如
electrum signmessage 1JuiT4dM65d8vBt8qUYamnDmAMJ4MjjxRE ?
系统会要求您输入要签名的信息。
冒号(:)的使用 :
用于隐藏输入,对密码等敏感数据非常有用。
例如
electrum importprivkey :
系统会提示你两次:先输入私钥,再输入钱包密码。输入内容不会显示在屏幕上。
破折号 (-) 破折号 -
从管道或标准输入端读取输入信息。
例如
cat LICENCE | electrum signmessage 1JuiT4dM65d8vBt8qUYamnDmAMJ4MjjxRE -
这将用指定地址签署 LICENCE 文件的内容。
别名
Electrum 允许您在许多命令中使用 DNS 别名而不是完整的比特币地址。这一功能简化了交易,提高了可用性。
您可以在大多数 Electrum 命令中用相应的 DNS 别名替换比特币地址。
例如
electrum payto ecdsa.net !
用 jq 格式化 Electrum 输出
Electrum 命令输出通常是简单字符串或结构化 JSON 数据。为了增强这些输出的可读性和处理能力,您可以使用 jq
实用性。
安装 jq
:在基于 Debian 的系统(如 Ubuntu)上,使用以下方法安装:
sudo apt-get install jq
对于其他操作系统,请查看软件包管理器或 jq
网站获取安装说明。
实例
签署和验证信息
签署信息
用特定的比特币地址签署文件内容(本例中为 "LICENCE"):
sig=$(cat LICENCE| electrum signmessage 1JuiT4dM65d8vBt8qUYamnDmAMJ4MjjxRE -)
验证信息
验证同一文件内容的签名:
cat LICENCE | electrum verifymessage 1JuiT4dM65d8vBt8qUYamnDmAMJ4MjjxRE $sig -
显示未用余额
本例演示了如何使用 Electrum 的命令行界面,结合以下工具来查看未支出的输出值 jq
.
显示未支出交易的价值:
electrum listunspent | jq 'map(.value)'
仅从历史记录中选择接收的交易
本例展示了如何使用 Electrum 的命令行界面与 jq
只显示钱包历史记录中的接收交易。
只查看收到的交易:
electrum history | jq '.[] | select(.value>0)'
按日期筛选交易
本指南介绍了如何使用 Electrum 的 CLI 与 jq
来过滤基于特定日期的交易。
特定日期之后的交易
after=$(date -d '03/15/2019' +"%s")
electrum history | jq --arg after $after '.[] | select(.timestamp>($after|tonumber))'
日期范围内的交易
before=$(date -d '11/22/2018' +"%s")
after=$(date -d '09/07/2017' +"%s")
electrum history | jq --arg before $before --arg after $after '.[] | select(.timestamp>($after|tonumber) and .timestamp<($before|tonumber))'
加密和解密信息
本指南演示了如何使用 Electrum 的命令行界面,使用公钥加密法加密和解密信息。
获取公开密钥
首先,检索与钱包地址相关的公钥:
pk=$(electrum getpubkeys 1JuiT4dM65d8vBt8qUYamnDmAMJ4MjjxRE| jq -r '.[0]')
加密信息
加密信息
cat | electrum encrypt $pk -
解密信息
解密信息
electrum decrypt $pk ?
该命令会提示您输入加密信息,然后询问您的钱包密码,并使用您的私人密钥解密信息。
导出私钥和扫币
本指南介绍如何从 Electrum 钱包中的资助地址导出私钥,并用它们将硬币扫到新地址。
导出受资助地址的私钥:
electrum listaddresses --funded | electrum getprivatekeys -
这将返回一个私钥列表。在大多数情况下,您希望得到一个简单的列表。
有关私人密钥的简化列表,请参见
electrum listaddresses --funded | electrum getprivatekeys - | jq 'map(.[0])'
将硬币扫到新地址:
electrum listaddresses --funded | electrum getprivatekeys - | jq 'map(.[0])' | electrum sweep - [destination address]