32 个版本

0.9.5 2023年11月16日
0.9.3 2023年7月16日
0.9.0 2023年3月23日
0.8.2 2022年6月27日
0.0.5 2015年5月5日

#2018 in 神奇豆子

每月50次下载
hal-elements 中使用

CC0 许可证

150KB
4K SLoC

hal -- 比特币伴侣

hal 是一个命令行工具,提供各种与比特币相关的实用程序。

安装

$ cargo install --locked hal

命令摘要

  • 地址

    • inspect: 获取地址信息
    • create: 使用公钥或脚本创建地址
  • bech32

    • decode: 解析 Bech32 格式的元素
    • encode: 以 Bech32 格式编码数据
  • bip32

    • derive: 从扩展密钥派生密钥和地址
    • inspect: 检查 BIP-32 xpub 或 xpriv
  • bip39

    • generate: 生成新的 BIP-39 密码
    • get-seed: 获取给定 BIP-39 密码的种子值和BIP-32 主密钥
  • block

    • create: 从 JSON 创建二进制区块
    • decode: 将二进制区块解码为 JSON
  • hash

    • sha256: 使用 SHA-256 哈希数据
    • sha256d: 使用双 SHA-256 哈希数据
  • key

    • generate: 生成随机密钥对
    • derive: 从私钥生成公钥
    • inspect: 检查私钥
    • ecdsa-sign: 创建 ECDSA 签名
    • ecdsa-verify: 验证 ECDSA 签名
    • pubkey-tweak-add: 向点添加标量
    • pubkey-combine: 将两个点相加
  • ln

    • invoice
      • decode: 解码闪电发票
  • merkle

    • proof-create: 创建默克尔证明
    • proof-check: 检查默克尔证明
  • message

    • hash: 获取比特币签名消息的哈希值
    • sign: 使用比特币签名消息签名消息
    • verify: 验证比特币签名消息
    • recover: 恢复签名消息的公钥或地址
  • miniscript

    • descriptor: 获取输出描述符信息
    • instpect: 检查 miniscripts
    • parse: 将脚本解析为 miniscript
    • policy: 检查策略
  • psbt

    • create: 从原始未签名交易创建 PSBT
    • 解码:将PSBT解码为JSON
    • 编辑:在线编辑PSBT
    • 最终化:将PSBT最终化为一个完全签署的交易
    • 合并:将多个PSBT合并为一个
  • 随机

    • 字节:生成随机字节
  • 脚本

    • 解码:将PSBT解码为JSON
  • 交易

    • 创建:从JSON创建二进制交易
    • 解码:将二进制交易解码为JSON

最低支持的Rust版本(MSRV)

hal 应始终在 Rust 1.41.1 上编译。请注意,它应使用 Cargo.lock 文件构建,因此请使用 --locked

扩展

hal 允许使用可以单独安装的扩展。

已知扩展

想法

  • 可选的 Trezor 和 Ledger集成

依赖项

~17MB
~246K SLoC