Bitcoin Forum
February 08, 2026, 09:14:37 AM *
News: Community awards 2025
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Bitcoin Message Tool - command-line signer at verifier  (Read 9 times)
Peanutswar (OP)
Legendary
*
Online Online

Activity: 2184
Merit: 1802


Alliance Of Bitcointalk Translator | ENG to FIL


View Profile
Today at 03:15:17 AM
Merited by GazetaBitcoin (1)
 #1

Akda ni: witcher_sense
Orihinal na akda: Bitcoin Message Tool - command-line signer & verifier




Panimula

Isa itong madaling gamitin na open-source CLI tool para sa pag sign at pag verify ng bitcoin message. Ang Bitcoin message ay isa sa mga direktang natural na pag papatunay nang mag kakakilanlan ng kanilang address na hindi na kailangan pa mag bigay ng kanilang mga impormasyon.

Ang tool na ito ay gumagamit ng espesipikasyon ng BIP137

"...Habang wala tayong BIP na nakasulat kung paano nga ba talaga mag sign digitally gamit ang Bitcoin private keys gamit ang P2PKH addresses at para ito ay lubos na maunawaan, gayunpaman mula sa pagsisimula ng Segwit (parehas na P2SH at bech32) addresses, hindi pa din malinaw ano nga ba ang pinagkaibahan ng P2PKH, P2SH, o bech32 address. Gamit ang BIP nagkaroon tayo ng pamantayan sa pagkakaroon ng signature format na pinahintuluyan ang mga kliyente nito na malaman ang pag kakaiba ng bawat address na ito."


Pag katandaan:

"dahil kasama dito ang format ng P2PKH keys, at ito ay gumagana pa din kahit ito ay luma na, pero pagkatandaan na may ilan pa ding mga software ang kayang tumingin ng sakop ng mga header at mag report ng mga bagong segwit header bilang error."


Para sa karagdagang impormasyon: https://github.com/bitcoin/bips/blob/master/bip-0137.mediawiki

Mga wallet na suportado ang BIP137 na klase ng signature:

1) Trezor
2) Sparrow Wallet
3) Coldcard?
4) ...

Ang tool na ito ay paramasubukan kung gaano nga ba kalawak ang gamit nito bilang pamantayan

Installation

1)Para ito ay ma install gamit ang pip, run:

Code:
pip install bitcoin-message-tool

Maari kayong gumagamit ng isang virtual environment para sa application na ito at dito ninyo patakbuhin, halimbawa gamit ang Poetry.

Gumawa ng bagong folder (ang kahulugan ng bmt ay Bitcoin Message Tool o di kaya ay pwede kayo mamili ng gusto ninyo):

Code:
poetry new bmt

Code:
cd ./bmt

Gumawa ng bagong virtual environment:

Code:
poetry install
Code:
poetry shell

I-download ang application mula sa PyPi gamit ang command na ito:

Code:
poetry add bitcoin-message-tool

Para patakbuhin ito mula sa terminal gamitin ang command na ito:

Code:
python3 -m bitcoin_message_tool

Pag ni-run mo ang app na walang mga arguments, makikita ninyo ang tulong na mensahe na ito.

2) Sa ibang paraan, maari ninyo i-download ang source code mula sa GitHub gamit ang command na ito:

Code:
git clone https://github.com/shadowy-pycoder/bitcoin_message_tool.git

o di kaya ay maari mong i-fork ang repo tapos ay mag clone para sa forked version nito

I-install ang iba pang kailangan gamit ang command na ito:

Code:
pip install -r /path/to/requirements.txt

Para mapatakbo ang application na ito galing sa forked o di kaya yan cloned repo, maari nyo lamang sundan ang mga ito:

Code:
python3 /path/to/bmt.py -h

Paano gamitin ang Bitcoin Message Tool

Mula sa doctest maari mo na dito makita kung paano ang mag sign at verify ng mensahe gamit ang CLI tool na ito:

Pangunahing gamit:

Code:
python -m bitcoin_message_tool -h

o

python bmt.py -h
usage: python3 bmt.py [-h] {sign,verify} ...

Bitcoin message signing/verification tool

positional arguments:
{sign,verify}

options:
-h, --help     show this help message and exit


Pag sign ng mensahe:

Code:
python bmt.py sign -h
usage: python3 bmt.py sign [-h] -p -a {p2pkh,p2wpkh-p2sh,p2wpkh} -m [MESSAGE ...] [-d] [-v]

options:
-h, --help            show this help message and exit

Sign messsage:
-p, --privkey         private key in wallet import format (WIF)
-a {p2pkh,p2wpkh-p2sh,p2wpkh}, --addr_type {p2pkh,p2wpkh-p2sh,p2wpkh}
                        type of bitcoin address
-m [MESSAGE ...], --message [MESSAGE ...]
                        Message to sign
-d, --deterministic   sign deterministtically (RFC6979)
-v, --verbose         print prettified message

Halimbawa: Paiba-iba ang gamit na signature para sa compressed private key at p2pkh address

Code:
$python bmt.py sign -p -a p2pkh -m ECDSA ang isa sa mga nakakatuwa kong karanasan

PrivateKey(WIF): <insert private key here>
Paalala na hindi makikita ang inyong private key sa terminal.

Output:

Code:
Bitcoin address: 175A5YsPUdM71mnNCC3i8faxxYJgBonjWL
Message: ECDSA ang isa sa mga nakakatuwa kong karanasan
Signature: IBuc5GXSJCr6m7KevsBAoCiX8ToOjW2CDZMr6PCEbiHwQJ237LZTj/REbDHI1/yelY6uBWEWXiOWoGnajlgvO/A=

Parehas lang ang lalabas gamit sa -v/--verbose flag:

Code:
-----BEGIN BITCOIN SIGNED MESSAGE-----
ECDSA is the most fun I have ever experienced
-----BEGIN BITCOIN SIGNATURE-----
175A5YsPUdM71mnNCC3i8faxxYJgBonjWL

IBuc5GXSJCr6m7KevsBAoCiX8ToOjW2CDZMr6PCEbiHwQJ237LZTj/REbDHI1/yelY6uBWEWXiOWoGnajlgvO/A=
-----END BITCOIN SIGNATURE-----

Pag beripika ng mensahe:

Code:
python bmt.py verify -h
usage: python3 bmt.py verify [-h] -a ADDRESS -m [MESSAGE ...] -s SIGNATURE [-v] [-r]

options:
-h, --help            show this help message and exit

Verify messsage:
-a ADDRESS, --address ADDRESS
                        specify bitcoin address
-m [MESSAGE ...], --message [MESSAGE ...]
                        Message to verify
-s SIGNATURE, --signature SIGNATURE
                        bitcoin signature in base64 format
-v, --verbose         print full message
-r, --recpub          recover public key

Example: Pag beripika ng mensahe gamit ang verbose mode

Code:
python bmt.py verify -a 175A5YsPUdM71mnNCC3i8faxxYJgBonjWL \
> -m ECDSA ang isa sa mga nakakatuwa kong karanasan \
> -s HyiLDcQQ1p2bKmyqM0e5oIBQtKSZds4kJQ+VbZWpr0kYA6Qkam2MlUeTr+lm1teUGHuLapfa43JjyrRqdSA0pxs= \
> -v

Resulta:

Code:
True
Ang mensahe ay beripikado mula sa 175A5YsPUdM71mnNCC3i8faxxYJgBonjWL
    Maari kayong makakita ng marami pang halimbawa at mga source code mula dito:
https://github.com/shadowy-pycoder/bitcoin_message_tool

Subukan gamit ang Sparrow Wallet

Ngayon ay subukan nating i-beripika ang SegWit signature mula sa totoong wallet:



Resulta:



Ngayon ay subukan nating i-beripika ang SegWit signature na ginawa natin gamit ang tool na ito:



Resulta:

[/list]

.
 betpanda.io 
 
ANONYMOUS & INSTANT
.......ONLINE CASINO.......
▄███████████████████████▄
█████████████████████████
█████████████████████████
████████▀▀▀▀▀▀███████████
████▀▀▀█░▀▀░░░░░░▄███████
████░▄▄█▄▄▀█▄░░░█▄░▄█████
████▀██▀░▄█▀░░░█▀░░██████
██████░░▄▀░░░░▐░░░▐█▄████
██████▄▄█░▀▀░░░█▄▄▄██████
█████████████████████████
█████████████████████████
█████████████████████████
▀███████████████████████▀
▄███████████████████████▄
█████████████████████████
██████████▀░░░▀██████████
█████████░░░░░░░█████████
███████░░░░░░░░░███████
████████░░░░░░░░░████████
█████████▄░░░░░▄█████████
███████▀▀▀█▄▄▄█▀▀▀███████
██████░░░░▄░▄░▄░░░░██████
██████░░░░█▀█▀█░░░░██████
██████░░░░░░░░░░░░░██████
█████████████████████████
▀███████████████████████▀
▄███████████████████████▄
█████████████████████████
██████████▀▀▀▀▀▀█████████
███████▀▀░░░░░░░░░███████
██████░░░░░░░░░░░░▀█████
██████░░░░░░░░░░░░░░▀████
██████▄░░░░░░▄▄░░░░░░████
████▀▀▀▀▀░░░█░░█░░░░░████
████░▀░▀░░░░░▀▀░░░░░█████
████░▀░▀▄░░░░░░▄▄▄▄██████
█████░▀░█████████████████
█████████████████████████
▀███████████████████████▀
.
SLOT GAMES
....SPORTS....
LIVE CASINO
▄░░▄█▄░░▄
▀█▀░▄▀▄░▀█▀
▄▄▄▄▄▄▄▄▄▄▄   
█████████████
█░░░░░░░░░░░█
█████████████

▄▀▄██▀▄▄▄▄▄███▄▀▄
▄▀▄█████▄██▄▀▄
▄▀▄▐▐▌▐▐▌▄▀▄
▄▀▄█▀██▀█▄▀▄
▄▀▄█████▀▄████▄▀▄
▀▄▀▄▀█████▀▄▀▄▀
▀▀▀▄█▀█▄▀▄▀▀

Regional Sponsor of the
Argentina National Team
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!