A simple Golang package with a single purpose, to verify messages signed via Bitcoin message signing (BMS).
- Golang 1.18+
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
For examples, checkout the example folder.
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
This package is developed in-house and pushed from our internal repository to GitHub.
Contributions, issues and feature requests are welcome.
Copyright © 2020-2023 Bitonic. This project is ISC licensed.