Bitcoin is a library of Bitcoin functions written in Haskell featuring:
- Hashing functions (SHA-256, RIPEMD-160)
- Base58 support
- Bech32 suport
- BIP32 extended key derivation and parsing (m/1'/2/3)
- BIP39 mnemonic keys
- ECDSA secp256k1 cryptographic primitives
- Script parsing
- Building and signing of standard transactions (regular, multisig, p2sh, segwit)
- Parsing and manipulation of all Bitcoin protocol messages
- Bloom filters and partial merkle trees (used in SPV wallets)
- Comprehensive test suite
Please use fourmolu
to format code prior to submission.