Title: Bitcoin Message Tool - कमांड-लाइन साइनर और वेरिफायर Post by: M47AK16 on December 08, 2024, 10:57:49 PM Quote लेखक: witcher_sense (https://bitcointalk.org/index.php?action=profile;u=1433865) प्राथमिक विषय: Bitcoin Message Tool - command-line signer & verifier (https://bitcointalk.org/index.php?topic=5437423.0) परिचय एक हल्का और पूरी तरह से ओपन-सोर्स CLI टूल जो बिटकॉइन संदेशों के साइनिंग और वेरिफिकेशन के लिए है. बिटकॉइन संदेश वह सबसे सीधा और स्वाभाविक तरीका है जिससे आप किसी दिए गए पते के मालिकाना हक को साबित कर सकते हैं, बिना किसी गोपनीय जानकारी को प्रकट किए. यह टूल BIP137 में वर्णित विनिर्देशन का पालन करता है: "...हालाँकि बिटकॉइन प्राइवेट कीज़ के साथ P2PKH पते पर संदेशों को डिजिटल रूप से साइन करने के लिए कोई BIP नहीं लिखा गया था, यह एक सामान्यत: समझा हुआ प्रक्रिया है, लेकिन Segwit (P2SH और bech32 दोनों रूपों में) पते के परिचय के साथ, यह स्पष्ट नहीं है कि P2PKH, P2SH, या bech32 पतों को एक-दूसरे से कैसे अलग किया जाए। यह BIP एक मानक सिग्नेचर फॉर्मेट प्रस्तावित करता है जो क्लाइंट्स को विभिन्न पते फॉर्मेट्स के बीच अंतर करने की अनुमति देगा." कृपया ध्यान दें कि: "चूंकि इस फॉर्मेट में P2PKH कीज़ शामिल हैं, यह बैकवर्ड कम्पैटिबल है, लेकिन ध्यान में रखें कि कुछ सॉफ़्टवेयर हेडर की रेंज के लिए चेक करते हैं और नए SegWit हेडर प्रकारों को त्रुटियों के रूप में रिपोर्ट करेंगे." अधिक जानकारी: https://github.com/bitcoin/bips/blob/master/bip-0137.mediawiki वॉलेट्स जो BIP137 प्रकार के सिग्नेचर्स को पूरी तरह से सपोर्ट करते हैं: 1) Trezor 2) Sparrow Wallet 3) Coldcard? 4) ... यह टूल मूल रूप से इस मानक के उपयोग को विस्तार देने का एक प्रयास है. स्थापना 1) pip के साथ इंस्टॉल करने के लिए, यह कमांड चलाएं: Code: pip install bitcoin-message-tool आप इस एप्लिकेशन के लिए एक वर्चुअल वातावरण बना सकते हैं और उसे वहीं से चला सकते हैं, उदाहरण के लिए Poetry का उपयोग करके. एक नया फोल्डर बनाएं (bmt बिटकॉइन मैसेज टूल के लिए संक्षिप्त है या आप जो चाहें चुन सकते हैं): Code: poetry new bmt Code: cd ./bmt एक नया वर्चुअल वातावरण बनाएं: Code: poetry install Code: poetry shell इस कमांड के माध्यम से PyPi से एप्लिकेशन डाउनलोड करें: Code: poetry add bitcoin-message-tool टर्मिनल से इसे चलाने के लिए, यह कमांड उपयोग करें: Code: python3 -m bitcoin_message_tool जब आप बिना तर्कों के ऐप चलाएंगे, तो आपको एक सहायता संदेश दिखाई देगा. 2) वैकल्पिक रूप से, आप इस कमांड के माध्यम से GitHub से स्रोत कोड सीधे डाउनलोड कर सकते हैं: Code: git clone https://github.com/shadowy-pycoder/bitcoin_message_tool.git या आप रेपो को फोर्क कर सकते हैं और फिर फोर्क की गई संस्करण को क्लोन कर सकते हैं. इस कमांड के माध्यम से आवश्यकताओं को इंस्टॉल करें: Code: pip install -r /path/to/requirements.txt फोर्क किए गए या क्लोन किए गए रेपो से एप्लिकेशन चलाने के लिए, आप बस निम्नलिखित का उपयोग कर सकते हैं: Code: python3 /path/to/bmt.py -h Bitcoin Message Tool का उपयोग कैसे करें: निम्नलिखित doctest इस CLI टूल के साथ संदेशों को साइन और वेरिफाई करने के बारे में स्पष्ट चित्र प्रदान करना चाहिए: मूल उपयोग: Code: python -m bitcoin_message_tool -h संदेश साइनिंग: Code: python bmt.py sign -h उदाहरण: संकुचित प्राइवेट की और p2pkh पते के लिए गैर-निर्धारणीय सिग्नेचर Code: $python bmt.py sign -p -a p2pkh -m ECDSA is the most fun I have ever experienced आउटपुट: Code: Bitcoin address: 175A5YsPUdM71mnNCC3i8faxxYJgBonjWL -v/--verbose फ्लैग के साथ वही आउटपुट: Code: -----BEGIN BITCOIN SIGNED MESSAGE----- संदेश साइनिंग: Code: python bmt.py verify -h उदाहरण: verbose मोड में संदेश सत्यापन Code: python bmt.py verify -a 175A5YsPUdM71mnNCC3i8faxxYJgBonjWL \ आउटपुट: Code: True अधिक उदाहरण और स्रोत कोड यहाँ पाया जा सकता है: https://github.com/shadowy-pycoder/bitcoin_message_tool Sparrow वॉलेट के साथ परीक्षण आइए एक वास्तविक वॉलेट के साथ बनाई गई SegWit सिग्नेचर को सत्यापित करें: https://i.ibb.co/hHxnG0V/IMG-20230131-081915-189.png परिणाम: https://i.ibb.co/MC5knZ3/Screenshot-2023-01-31-08-28-49-549-edit-com-termux.jpg आइए इस टूल द्वारा बनाई गई SegWit सिग्नेचर को सत्यापित करें: https://i.ibb.co/D1CKJ5G/Screenshot-2023-01-31-08-43-47-964-edit-com-termux.jpg परिणाम: https://i.ibb.co/t2syZsH/IMG-20230131-084712-671.png इस पहल के तहत अनुवादित : https://raw.githubusercontent.com/AOBTranslators/Images/main/AOBT%20Logo.png (https://bitcointalk.org/index.php?topic=5442314.0) |