Skip to content

Verify signed messages of various bitcoin wallets

License

Notifications You must be signed in to change notification settings

NFTGalaxy/verify-signed-message-bitcoin

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

Verify signed messages of various bitcoin wallets

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 100.0%