{"id":13393252,"url":"https://github.com/stevenroose/hal","last_synced_at":"2025-04-04T20:16:04.861Z","repository":{"id":41086413,"uuid":"163285484","full_name":"stevenroose/hal","owner":"stevenroose","description":"the Bitcoin companion","archived":false,"fork":false,"pushed_at":"2024-04-02T11:30:37.000Z","size":420,"stargazers_count":149,"open_issues_count":9,"forks_count":27,"subscribers_count":9,"default_branch":"master","last_synced_at":"2024-04-10T02:08:31.368Z","etag":null,"topics":["bitcoin","cryptography","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stevenroose.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-12-27T11:16:33.000Z","updated_at":"2024-05-18T09:39:14.241Z","dependencies_parsed_at":"2023-01-25T16:30:36.610Z","dependency_job_id":"0fbb2df6-3687-4b2b-bc53-7647f510425c","html_url":"https://github.com/stevenroose/hal","commit_stats":{"total_commits":152,"total_committers":6,"mean_commits":"25.333333333333332","dds":"0.13815789473684215","last_synced_commit":"d9bcf6717336368c037b68451bcc2f47015beb3f"},"previous_names":[],"tags_count":31,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stevenroose%2Fhal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stevenroose%2Fhal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stevenroose%2Fhal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stevenroose%2Fhal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stevenroose","download_url":"https://codeload.github.com/stevenroose/hal/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247242681,"owners_count":20907134,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bitcoin","cryptography","rust"],"created_at":"2024-07-30T17:00:47.661Z","updated_at":"2025-04-04T20:16:04.844Z","avatar_url":"https://github.com/stevenroose.png","language":"Rust","funding_links":[],"categories":["Uncategorized","Utilities"],"sub_categories":["Uncategorized","E-Books"],"readme":"hal -- the Bitcoin companion\n============================\n\nhal is a command line tool that provides all kinds of Bitcoin-related utilities.\n\n\n# Installation\n\n```\n$ cargo install --locked hal\n```\n\n\n# Summary of commands:\n\n- address\n\t- inspect: get information about addresses\n\t- create: create addresses using public keys or scripts\n\n- bech32\n\t- decode: parse the elements of the Bech32 format\n\t- encode: encode data in the Bech32 format\n\n- bip32\n\t- derive: derive keys and addresses from extended keys\n\t- inspect: inspect a BIP-32 xpub or xpriv\n\n- bip39\n    - generate: generate a new BIP-39 mnemonic\n\t- get-seed: get the seed value and BIP-32 master key for a given BIP-39 mnemonic\n\n- block\n\t- create: create a binary block from JSON\n\t- decode: decode a binary block to JSON\n\n- hash\n\t- sha256: hash data with SHA-256\n\t- sha256d: hash data with double SHA-256\n\n- key\n\t- generate: generate a random keypair\n\t- derive: generate a public key from a private key\n\t- inspect: inspect private keys\n\t- ecdsa-sign: make ECDSA signatures\n\t- ecdsa-verify: verify ECDSA signatures\n\t- pubkey-tweak-add: add a scalar to a point\n\t- pubkey-combine: add two points together\n\n- ln\n\t- invoice\n\t\t- decode: decode Lightning invoices\n\n- merkle\n    - proof-create: create a merkle proof\n    - proof-check: check a merkle proof\n\n- message\n    - hash: get hashes of Bitcoin Signed Message\n    - sign: sign a message using Bitcoin Signed Message\n    - verify: verify a Bitcoin Signed Message\n    - recover: recover the pubkey or address that signed a message\n\n- miniscript\n    - descriptor: get information about an output descriptor\n    - instpect: inspect miniscripts\n    - parse: parse a script into a miniscript\n    - policy: inspect policies\n\n- psbt\n\t- create: create a PSBT from a raw unsigned transaction\n\t- decode: decode a PSBT to JSON\n\t- edit: edit a PSBT inline\n\t- finalize: finalize a PSBT into a fully signed transaction\n\t- merge: merge multiple PSBTs into one\n\n- random\n    - bytes: generate random bytes\n\n- script\n\t- decode: decode a PSBT to JSON\n\n- tx\n\t- create: create a binary transaction from JSON\n\t- decode: decode a binary transaction to JSON\n\n\n## Minimum Supported Rust Version (MSRV)\n\n`hal` should always compile on **Rust 1.41.1**.\nNote that it should be build using the `Cargo.lock` file, so using `--locked`.\n\n# Extensions\n\nhal allows the use of extensions that can be installed separately.\n\n## Known extensions:\n\n- [hal-elements](https://github.com/stevenroose/hal-elements/): support for Elements sidechains like Liquid\n\n\n## Ideas:\n- optional [Trezor](https://github.com/stevenroose/rust-trezor-api/) and Ledger integration\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstevenroose%2Fhal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstevenroose%2Fhal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstevenroose%2Fhal/lists"}