• Stars
    star
    155
  • Rank 240,864 (Top 5 %)
  • Language
    Rust
  • License
    Creative Commons ...
  • Created almost 6 years ago
  • Updated 8 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

the Bitcoin companion

hal -- the Bitcoin companion

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

Installation

$ cargo install --locked 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
    • derive: generate a public key from a private key
    • inspect: inspect private keys
    • ecdsa-sign: make ECDSA signatures
    • ecdsa-verify: verify ECDSA signatures
    • pubkey-tweak-add: add a scalar to a point
    • pubkey-combine: add two points together
  • 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
  • miniscript

    • descriptor: get information about an output descriptor
    • instpect: inspect miniscripts
    • parse: parse a script into a miniscript
    • policy: inspect policies
  • 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
  • tx

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

Minimum Supported Rust Version (MSRV)

hal should always compile on Rust 1.41.1. Note that it should be build using the Cargo.lock file, so using --locked.

Extensions

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

Known extensions:

Ideas:

  • optional Trezor and Ledger integration

More Repositories

1

gonfig

Go package for program configuration
Go
175
star
2

dart-eventsource

A client and server implementation of Server-Side Events.
Dart
56
star
3

dart-reddit

A Reddit library for Dart. Not well-maintained, check out draw as well: https://pub.dev/packages/draw
Dart
29
star
4

rust-bitcoin-p2p

Rust implementation of Bitcoin p2p protocol.
Rust
26
star
5

dart-hex

Easy hexadecimal convertion using dart:convert API.
Dart
19
star
6

go-bitcoin-core-rpc

An RPC client for the Bitcoin Core JSON-RPC API in Go (Golang).
Go
19
star
7

covenants.info

HTML
15
star
8

dart-sync

A library for managing asynchronous processes inspired by the Go sync package.
Dart
12
star
9

dart-websockets

A generic WebSocket package for Dart
Dart
11
star
10

doubletake

Create Bitcoin double-spend discouraging bonds on Liquid.
Rust
9
star
11

watch-with-me

Dart
9
star
12

hal-elements

an Elements extension for hal
Rust
8
star
13

dart-cryptoutils

A crypto utility library for Dart.
Dart
8
star
14

rust-trezor-api

Rust client library for interfacing with Trezor hardware wallet devices
Rust
7
star
15

dart-events

Event handling library for Dart.
Dart
7
star
16

rust-liquid-rpc

Rust client library for the Liquid JSON-RPC API.
Rust
6
star
17

ripple-lib-dart

Dart port of the ripple-lib Ripple library.
Dart
5
star
18

dart-shelf_eventsource

A shelf handler for Server-Side Events (SSE).
Dart
4
star
19

rust-bitcoin-wallet

Simple PoC serde-serializable Bitcoin wallet.
Rust
4
star
20

dart-btcwallet-rpc

Dart
3
star
21

cryptonotes

Personal reference of some papers on cryptocurrency-related topics
Shell
3
star
22

rust-slip21

SLIP-0021 implementation in Rust
Rust
3
star
23

ABC-MDGP

For a school assignment, we implemented an Artificial Bee Colony algorithms for solving the Maximally Diverse Grouping Problem in Java.
Java
3
star
24

lightninggraph

HTML
2
star
25

dart-webfinger

A library that implements the WebFinger protocol defined by RFC 7033.
Dart
2
star
26

rust-daemon-runner

Rust wrapper for running daemon-like programs
Rust
2
star
27

dart-snippets

A collection of useful Dart code snippets.
Dart
2
star
28

rust-bitcoin-scriptexec

Rust
2
star
29

dart-skiplist

A skiplist implementation in Dart.
Dart
1
star
30

template

A simple command line tool for filling file templates based on Go's text/template
Go
1
star
31

dart-enums

A library to create Enums in Dart.
Dart
1
star
32

dart-xrd

Extensible Resource Descriptors in Dart
Dart
1
star
33

rust-base64-compat

base64 crate for Rust that supports rustc v0.19.0 and newer
Rust
1
star