Title: Bitcoin Message Tool - command-line signer & verifier Post by: Husna QA on September 15, 2024, 11:39:18 PM Topik Asli : Bitcoin Message Tool - command-line signer & verifier (https://bitcointalk.org/index.php?topic=5437423.msg61684922#msg61684922) Penulis Asli : witcher_sense (https://bitcointalk.org/index.php?action=profile;u=1433865) Pendahuluan Sebuah tool CLI open-source yang ringan untuk menandatangani dan memverifikasi bitcoin message. Bitcoin message adalah cara yang paling mudah dan natural untuk membuktikan kepemilikan atas sebuah address tanpa mengungkapkan informasi rahasia. Tool ini mengikuti spesifikasi yang dijelaskan dalam BIP137: "...Meskipun tidak ada BIP yang ditulis untuk cara menandatangani pesan (message) secara digital dengan private key Bitcoin dengan alamat P2PKH, proses ini cukup dipahami dengan baik, namun dengan diperkenalkannya alamat Segwit (baik dalam bentuk P2SH maupun bech32), tidak jelas bagaimana membedakan alamat P2PKH, P2SH, atau bech32 satu dengan yang lainnya. BIP ini mengusulkan format tanda tangan standar yang akan memungkinkan klien untuk membedakan antara format alamat yang berbeda." Harap dicatat bahwa: "karena format ini menyertakan kunci P2PKH, format ini kompatibel dengan format sebelumnya, tetapi perlu diingat bahwa beberapa software memiliki pemeriksaan untuk rentang header dan akan melaporkan jenis header segwit yang lebih baru sebagai error." Info lebih lanjut: https://github.com/bitcoin/bips/blob/master/bip-0137.mediawiki Wallet yang sepenuhnya men-support jenis tanda tangan (signature) BIP137: 1) Trezor 2) Sparrow Wallet 3) Coldcard? 4) ... Tool ini pada dasarnya adalah sebuah upaya untuk memperluas penggunaan standar ini. Instalasi 1)Untuk menginstal dengan pip, jalankan: Code: pip install bitcoin-message-tool Anda bisa membuat sebuah virtual environment untuk aplikasi ini dan menjalankannya dari sana, contohnya dengan menggunakan Poetry. Buat sebuah folder baru (bmt adalah kependekan dari Bitcoin Message Tool atau Anda bisa memilih nama yang Anda inginkan): Code: poetry new bmt Code: cd ./bmt Buat sebuah virtual environment baru: Code: poetry install Code: poetry shell Download aplikasi dari PyPi melalui command berikut ini: Code: poetry add bitcoin-message-tool Untuk menjalankannya dari terminal, gunakan command berikut ini: Code: python3 -m bitcoin_message_tool Ketika Anda menjalankan aplikasi tanpa argumen, Anda akan melihat help message. 2) Atau, Anda dapat mengunduh source code langsung dari GitHub melalui command berikut ini: Code: git clone https://github.com/shadowy-pycoder/bitcoin_message_tool.git atau Anda dapat melakukan fork pada repo dan mengkloning versi fork tersebut Instal requirement melalui command berikut: Code: pip install -r /path/to/requirements.txt Untuk menjalankan aplikasi dari repo yang di-fork atau dikloning, Anda cukup menggunakan yang berikut ini: Code: python3 /path/to/bmt.py -h Cara menggunakan Bitcoin Message Tool Doctest berikut ini akan memberikan gambaran yang jelas mengenai cara menandatangani dan memverifikasi pesan dengan tool CLI ini: Penggunaan dasar: Code: python -m bitcoin_message_tool -h Penandatanganan pesan: Code: python bmt.py sign -h Contoh: Tanda tangan non-deterministik untuk private key terkompresi dan alamat p2pkh Code: $python bmt.py sign -p -a p2pkh -m ECDSA is the most fun I have ever experienced Output: Code: Bitcoin address: 175A5YsPUdM71mnNCC3i8faxxYJgBonjWL Output yang sama dengan -v/--verbose flag: Code: -----BEGIN BITCOIN SIGNED MESSAGE----- Verifikasi pesan: Code: python bmt.py verify -h Contoh: Verifikasi pesan dalam mode verbose Code: python bmt.py verify -a 175A5YsPUdM71mnNCC3i8faxxYJgBonjWL \ Output: Code: True Contoh dan source code lebih lanjut dapat ditemukan di sini: https://github.com/shadowy-pycoder/bitcoin_message_tool Test dengan wallet Sparrow Mari kita verifikasi tanda tangan SegWit yang dibuat dengan wallet sungguhan: https://i.ibb.co/hHxnG0V/IMG-20230131-081915-189.png Hasil: https://i.ibb.co/MC5knZ3/Screenshot-2023-01-31-08-28-49-549-edit-com-termux.jpg Mari kita verifikasi tanda tangan SegWit yang dibuat oleh tool ini: https://i.ibb.co/D1CKJ5G/Screenshot-2023-01-31-08-43-47-964-edit-com-termux.jpg Hasil: https://i.ibb.co/t2syZsH/IMG-20230131-084712-671.png Terjemahan ini diinisiasi oleh Tim AoBT (The Alliance of Bitcointalk Translators) (https://bitcointalk.org/index.php?topic=5442314.msg61853232#msg61853232). |