21 releases (6 breaking)

Uses old Rust 2015

0.7.0 May 17, 2020
0.6.0 Mar 24, 2020
0.4.4 Oct 1, 2019
0.3.0 Jul 26, 2019
0.0.5 May 5, 2015

#288 in Cryptocurrencies

Download history 10/week @ 2020-06-07 28/week @ 2020-06-14 3/week @ 2020-06-21 30/week @ 2020-06-28 32/week @ 2020-07-05 57/week @ 2020-07-12 15/week @ 2020-07-19 8/week @ 2020-07-26 3/week @ 2020-08-02 63/week @ 2020-08-09 38/week @ 2020-08-16 43/week @ 2020-08-23 9/week @ 2020-08-30 113/week @ 2020-09-06 15/week @ 2020-09-13 9/week @ 2020-09-20

143 downloads per month
Used in hal-elements

CC0 license

110KB
3K SLoC

hal -- the Bitcoin companion

hal is a command line tool that provides all kinds of Bitcoin-related utilities.

Installation

$ cargo install hal

Summary of commands:

  • address

    • inspect: get information about addresses
    • create: create addresses using public keys or scripts
  • bech32

    • decode: parse the elements of the Bech32 format
    • encode: encode data in the Bech32 format
  • bip32

    • derive: derive keys and addresses from extended keys
    • inspect: inspect a BIP-32 xpub or xpriv
  • bip39

    • generate: generate a new BIP-39 mnemonic
    • get-seed: get the seed value and BIP-32 master key for a given BIP-39 mnemonic
  • block

    • create: create a binary block from JSON
    • decode: decode a binary block to JSON
  • key

    • generate: generate a random keypair
    • inspect: inspect private keys
    • verify: verify signatures
  • ln

    • invoice
      • decode: decode Lightning invoices
  • message

    • hash: get hashes of Bitcoin Signed Message
    • sign: sign a message using Bitcoin Signed Message
    • verify: verify a Bitcoin Signed Message
    • recover: recover the pubkey or address that signed a message
  • psbt

    • create: create a PSBT from a raw unsigned transaction
    • decode: decode a PSBT to JSON
    • edit: edit a PSBT inline
    • finalize: finalize a PSBT into a fully signed transaction
    • merge: merge multiple PSBTs into one
  • script

    • decode: decode a PSBT to JSON
    • coming soon: script descriptor support
  • tx

    • create: create a binary transaction from JSON
    • decode: decode a binary transaction to JSON

Extensions

hal allows the use of extensions that can be installed separately.

Known extensions:

Ideas:

  • optional Trezor and Ledger integration

Dependencies

~8.5MB
~159K SLoC