Skip to content

Latest commit

 

History

History
60 lines (41 loc) · 2.31 KB

README.md

File metadata and controls

60 lines (41 loc) · 2.31 KB

Bitcoin Signed Message Verifier

Latest tag Go Version GoDoc Tests status Go report License

A simple Golang package with a single purpose, to verify messages signed via Bitcoin message signing (BMS).

Requirements

  • Golang 1.18+

Installation

Your $PATH must contain the Go path and the Go bin path (see GoLang's getting started for more information).

Once done, you can install this package:

go get -u github.com/bitonicnl/verify-signed-message

Usage

For examples, checkout the example folder.

Support

This library tries to support as many signatures as possible.

Current support:

  • Any wallet that does signing like Electrum, example:
    • Electrum: P2PKH, P2WPKH and P2WPKH-P2SH
    • Coinomi: P2PKH, P2WPKH and P2WPKH-P2SH
    • Samourai: P2PKH, P2WPKH and P2WPKH-P2SH
    • Mycelium: P2PKH, P2WPKH and P2WPKH-P2SH
  • Any wallet that allows for legacy address signatures (P2PKH), example:
    • Bitcoin Core
  • Any wallet that follows BIP 137, example:
    • Trezor: P2PKH, P2WPKH and P2WPKH-P2SH
  • Taproot (P2TR)
    • The verification is using the internal key, so only addresses without a tapscript are allowed.

Currently not supported:

  • Pay-to-Witness-Script-Hash (P2WSH)
  • BIP-322

Development

This package is developed in-house and pushed from our internal repository to GitHub.

Contributing

Contributions, issues and feature requests are welcome.

License

Copyright © 2020-2023 Bitonic. This project is ISC licensed.