Conversation
|
Warning @mothepro is the publisher, not the signer, unless stated otherwise 🕵 Important
Verify this verificationUnfortunately, the proof is too long to be a clickable link. (over 2000 characters) Directly with verify-bitcoin-message.js.orgVisit https://verify-bitcoin-message.js.org, then copy and paste the following into the "Verify any Message" dialog: {"address":"1HZwkjkeaoZfTSaJxDw6aKkxp45agDiEzN","message":"# Verify Bitcoin Message\n\n[](https://github.com/mothepro/verify-bitcoin-message) [](https://npmgraph.js.org/?q=verify-bitcoin-message) [](https://github.com/mothepro/verify-bitcoin-message?tab=readme-ov-file#offline) [](https://app.unpkg.com/verify-bitcoin-message/)\n\n> A dependency-free Bitcoin message verifier that works in browsers and as a lightweight CLI.\n\nTranslations would be an incredible contribution now :)\n\n## Published Messages\n\nAny messages, from around the globe, can be added via [Pull Requests](../../pulls).\n\nThe verification process automatically hides invalid messages.\n\n<!-- *Each fork is like its own \"[community](../../forks)\".* -->\n\n## Things you can do\n\n### Offline\n\nFirst visit the page by [Serving Locally](#serve-locally) or using our [GitHub Pages demo](https://mothepro.github.io/verify-bitcoin-message).\n\nIf you're on mobile, just turn on airplane mode.\n\nOn desktop you can test offline mode in Chrome (webkit browsers) by opening Developer Tools (F12) > `Network` tab > Change `No Throttling` to `Offline`\n\n### Clone the repository\n\n Download [Bun](https://bun.sh), JS runtime\n\n ```bash\n git clone https://github.com/mothepro/verify-bitcoin-message\n cd verify-bitcoin-message\n bun install # Tests will be run automatically after installation\n ```\n\n### Serve locally\n\n ```bash\n bun run build:browser\n python -m http.server 8000 static # Any \"server\" is fine, doesn't have to be python\n ```\n\n Unfortunately, opening the html file directly from the file system will not work.\n The browser's [built-in `crypto` libraries](https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto) are [not available](https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts) when running from the file system.\n\n### CDN\n\n ```html\n <script type=\"module\">\n import verify, { verifySafe } from 'https://unpkg.com/verify-bitcoin-message';\n </script>\n ```\n\n### Command Line Interface\n\n```bash\nnpx verify-bitcoin-message --json \\\n --address 1F3sAm6ZtwLAUnj7d38pGFxtP3RVEvtsbV \\\n --message \"This is an example of a signed message.\" \\\n --signature \"H9L5yLFjti0QTHhPyFrZCT1V/MMnBtXKmoiKDZ78NDBjERki6ZTQZdSMCtkgoNmp17By9ItJr8o7ChX0XxY91nk=\"\n```\n\n### Programmatic Use\n\n```bash\nbun add verify-bitcoin-message # OR npm install verify-bitcoin-message\n```\n\n```typescript\nimport verify, { verifySafe } from 'verify-bitcoin-message';\n\nawait verify({\n address: '1F3sAm6ZtwLAUnj7d38pGFxtP3RVEvtsbV',\n message: 'This is an example of a signed message.',\n signature: 'H9L5yLFjti0QTHhPyFrZCT1V/MMnBtXKmoiKDZ78NDBjERki6ZTQZdSMCtkgoNmp17By9ItJr8o7ChX0XxY91nk='\n})\n\n// If you're not a fan of throwing errors:\nconst isValid = await verifySafe({\n address: '1F3sAm6ZtwLAUnj7d38pGFxtP3RVEvtsbV',\n message: 'This is an example of a signed message.',\n signature: 'H9L5yLFjti0QTHhPyFrZCT1V/MMnBtXKmoiKDZ78NDBjERki6ZTQZdSMCtkgoNmp17By9ItJr8o7ChX0XxY91nk='\n})\n```\n\n### Up Next\n\n- [ ] My idea to prevent fake screenshots :lightbulb:\n- [ ] more support for address types\n- [ ] explainer why cold storage >>> exchanges (you can use this)\n- [ ] service worker? for full PWA\n- [ ] **better example message**\n- [ ] allow markdown in message? :eyes:\n- [ ] wrap github gpg signatue with one of these\n\n### Web Alternatives\n\n- [Bitcoin.com](https://www.bitcoin.com/tools/verify-message/)\n \n\n- [Verify Bitcoin Message](https://www.verifybitcoinmessage.com/)\n \n\n- [BlueWallet's VerifySignature](https://bluewallet.github.io/VerifySignature?a=&m=&s=)\n \n \n [](https://npmgraph.js.org/?q=bitcoinjs-message)","signature":"G/B2LBFamPXuOgXOsj/717iqCWrenP3wdLdvZY/C7XgoW4FHDJB/PcrW29eapsT0WwUXeR0WDRiy30NWxqTbD/k="}GithubProof can be found in the Verify Bitcoin Message
Translations would be an incredible contribution now :) Published MessagesAny messages, from around the globe, can be added via Pull Requests. The verification process automatically hides invalid messages. Things you can doOfflineFirst visit the page by Serving Locally or using our GitHub Pages demo. If you're on mobile, just turn on airplane mode. On desktop you can test offline mode in Chrome (webkit browsers) by opening Developer Tools (F12) > Clone the repositoryDownload Bun, JS runtime git clone https://github.com/mothepro/verify-bitcoin-message
cd verify-bitcoin-message
bun install # Tests will be run automatically after installationServe locallybun run build:browser
python -m http.server 8000 static # Any "server" is fine, doesn't have to be pythonUnfortunately, opening the html file directly from the file system will not work. CDN<script type="module">
import verify, { verifySafe } from 'https://unpkg.com/verify-bitcoin-message';
</script>Command Line Interfacenpx verify-bitcoin-message --json \
--address 1F3sAm6ZtwLAUnj7d38pGFxtP3RVEvtsbV \
--message "This is an example of a signed message." \
--signature "H9L5yLFjti0QTHhPyFrZCT1V/MMnBtXKmoiKDZ78NDBjERki6ZTQZdSMCtkgoNmp17By9ItJr8o7ChX0XxY91nk="Programmatic Usebun add verify-bitcoin-message # OR npm install verify-bitcoin-messageimport verify, { verifySafe } from 'verify-bitcoin-message';
await verify({
address: '1F3sAm6ZtwLAUnj7d38pGFxtP3RVEvtsbV',
message: 'This is an example of a signed message.',
signature: 'H9L5yLFjti0QTHhPyFrZCT1V/MMnBtXKmoiKDZ78NDBjERki6ZTQZdSMCtkgoNmp17By9ItJr8o7ChX0XxY91nk='
})
// If you're not a fan of throwing errors:
const isValid = await verifySafe({
address: '1F3sAm6ZtwLAUnj7d38pGFxtP3RVEvtsbV',
message: 'This is an example of a signed message.',
signature: 'H9L5yLFjti0QTHhPyFrZCT1V/MMnBtXKmoiKDZ78NDBjERki6ZTQZdSMCtkgoNmp17By9ItJr8o7ChX0XxY91nk='
})Up Next
Web Alternatives |
hopefully the formatting is good :D