<<  >> (p.3)
    Author Topic: Bitcoin Message Tool - कमांड-लाइन साइनर और वेरिफायर  (Read 518 times)
    M47AK16 (OP)
    Sr. Member
    ****
    Offline

    Activity: 658
    Merit: 395



    View Profile
    December 08, 2024, 10:57:49 PM
    Merited by GazetaBitcoin (1), DYING_S0UL (1)
     #1

    Quote
    लेखक: witcher_sense
    प्राथमिक विषय: Bitcoin Message Tool - command-line signer & verifier



    परिचय

    एक हल्का और पूरी तरह से ओपन-सोर्स 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 -rpath/to/requirements.txt

    फोर्क किए गए या क्लोन किए गए रेपो से एप्लिकेशन चलाने के लिए, आप बस निम्नलिखित का उपयोग कर सकते हैं:

    Code:
    python3path/to/bmt.py -h

    Bitcoin Message Tool का उपयोग कैसे करें:

    निम्नलिखित doctest इस CLI टूल के साथ संदेशों को साइन और वेरिफाई करने के बारे में स्पष्ट चित्र प्रदान करना चाहिए:

    मूल उपयोग:

    Code:
    python -m bitcoin_message_tool -h

    or

    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


    संदेश साइनिंग:

    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

    उदाहरण: संकुचित प्राइवेट की और p2pkh पते के लिए गैर-निर्धारणीय सिग्नेचर

    Code:
    $python bmt.py sign -p -a p2pkh -m ECDSA is the most fun I have ever experienced

    PrivateKey(WIF): <insert private key here>
    कृपया ध्यान दें कि प्राइवेट की टर्मिनल पर नहीं दिखाई देगी.

    आउटपुट:

    Code:
    Bitcoin address: 175A5YsPUdM71mnNCC3i8faxxYJgBonjWL
    Message: ECDSA is the most fun I have ever experienced
    Signature: IBuc5GXSJCr6m7KevsBAoCiX8ToOjW2CDZMr6PCEbiHwQJ237LZTj/REbDHI1/yelY6uBWEWXiOWoGnajlgvO/A=

    -v/--verbose फ्लैग के साथ वही आउटपुट:

    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-----

    संदेश साइनिंग:

    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

    उदाहरण: verbose मोड में संदेश सत्यापन

    Code:
    python bmt.py verify -a 175A5YsPUdM71mnNCC3i8faxxYJgBonjWL \
    > -m ECDSA is the most fun I have ever experienced \
    > -s HyiLDcQQ1p2bKmyqM0e5oIBQtKSZds4kJQ+VbZWpr0kYA6Qkam2MlUeTr+lm1teUGHuLapfa43JjyrRqdSA0pxs= \
    > -v

    आउटपुट:

    Code:
    True
    Message verified to be from 175A5YsPUdM71mnNCC3i8faxxYJgBonjWL

    अधिक उदाहरण और स्रोत कोड यहाँ पाया जा सकता है: https://github.com/shadowy-pycoder/bitcoin_message_tool

    Sparrow वॉलेट के साथ परीक्षण

    आइए एक वास्तविक वॉलेट के साथ बनाई गई SegWit सिग्नेचर को सत्यापित करें:



    परिणाम:



    आइए इस टूल द्वारा बनाई गई SegWit सिग्नेचर को सत्यापित करें:



    परिणाम:





    इस पहल के तहत अनुवादित :


    Pages: [1]
      Print  
Page 2
Viewing Page: 3