बिटकॉइन के लिए डेवलपर का परिचय
बिटकॉइन का एक बड़ा फायदा यह है कि डेवलपर के दृष्टिकोण से काम करना कितना आसान है। बिटकॉइन की कोई तीसरी पार्टी निर्भरता नहीं है, कोई मालिकाना एपीआई और तेजी से बदलते इंटरफ़ेस नहीं है; आपको बस अपनी पसंदीदा प्रोग्रामिंग भाषा की आवश्यकता है, और संभावना है कि पहले से ही एक साधारण बिटकॉइन लाइब्रेरी है जिसे आप कुछ घंटों के भीतर बिटकॉइन भेजना और प्राप्त करना शुरू कर सकते हैं। इस लेख का उद्देश्य इनमें से कुछ पुस्तकालयों को प्रस्तुत करना होगा, और बिटकॉइन पते और किसी भी भाषा में लेनदेन के साथ काम करने की मूल बातें दिखाना होगा।.
पते, की, लेन-देन, ओह माय!
सामान्य रूप से बिटकॉइन प्रोटोकॉल को तीन भागों में विभाजित किया जा सकता है: पता और मुख्य प्रबंधन, लेनदेन और ब्लॉक और खनन। Bitcoin डेवलपर के रूप में ब्लॉक और खनन आपके लिए महत्वपूर्ण नहीं हैं; ज्यादातर मामलों में यह केवल तृतीय-पक्ष लेन-देन-सेवा पर भरोसा करना आसान होता है जो ब्लॉक की अवधारणा को दूर करता है, और यदि आप खनन में रुचि रखते हैं तो सबसे अच्छा तरीका यह है कि बस एक मानक बिटकॉइन माइनर खरीदें। पते, चाबियाँ और लेनदेन, हालांकि, आप बस से निपटने से बच नहीं सकते हैं.
बिटकॉइन कुंजी प्रबंधन में, तीन प्रकार की वस्तुएं हैं जिनसे आपको निपटने की आवश्यकता होगी: निजी कुंजी, सार्वजनिक कुंजी और पते। आपने सार्वजनिक कुंजी क्रिप्टोग्राफी के संदर्भ में “निजी कुंजी” और “सार्वजनिक कुंजी” शब्दों के बारे में सुना होगा; हम यहाँ जिस निजी और सार्वजनिक कुंजी के बारे में बात कर रहे हैं वह बिल्कुल वैसी ही है। हालाँकि, बिटकॉइन एक नई तरह की क्रिप्टोग्राफी का उपयोग करता है जिसे दीर्घवृत्तीय वक्र क्रिप्टोग्राफ़ी कहा जाता है, न कि पुराने फैक्टरिंग-आधारित क्रिप्टोग्राफ़िक एल्गोरिदम जैसे आरएसए, इसलिए बिटकॉइन की चाबियाँ कहने से कुछ अलग दिखती हैं, PGP कुंजी. एक निजी कुंजी इस तरह दिखती है:
9d86361789d13823fd888fa45c9b356b76d41a7e33b2b2c2c3056632721c4c1255
और इसकी संबंधित सार्वजनिक कुंजी है:
04d8f08938e78447b2b1a629c503d5e17483b0d15751a9e8f83c8460e6ec32fd68d0b4068e83f012F54f54df995e52ed8bae38056a8d922f9687200ae8367683
निजी कुंजी को सार्वजनिक कुंजी में परिवर्तित किया जा सकता है, लेकिन सार्वजनिक कुंजी को निजी कुंजी में परिवर्तित नहीं किया जा सकता है। बिटकॉइन का पता वास्तव में सार्वजनिक कुंजी का हैश है; उपरोक्त सार्वजनिक कुंजी के अनुरूप बिटकॉइन पता है:
172YRdGzPqyXm9rm1EWKwPXTRsmcApoPQ6
एक बात जो आप देख सकते हैं कि बिटकॉइन का पता हेक्साडेसिमल रूप में नहीं है, जैसे कि निजी और सार्वजनिक कुंजी हैं। ऐसा इसलिए है, क्योंकि इसके कुछ प्रारूपों के लिए, बिटकॉइन अपने स्वयं के प्रतिनिधित्व प्रारूप का उपयोग करता है, जिसे बेस 58 चेक के रूप में जाना जाता है। “बेस 58” भाग इस तथ्य से आता है कि 58 विभिन्न अक्षरों और संख्याओं का उपयोग किया जाता है; O, 0, l और I छूट गए हैं क्योंकि वे एक-दूसरे के लिए गलती करना बहुत आसान है। बेस 58 बेस 2, या बेस 3, या बेस 10 के समान है। उदाहरण के लिए, बेस 2 में 31337 नंबर ‘111101001101001’ है; बेस 3 में यह ‘1120222122’ है, बेस 10 में यह ‘31337’ है, बेस 16 में यह ‘7a69’ है, बेस 58 में यह ‘AKJ’ है और आखिरकार, बेस 256 में यह सिर्फ ‘zi’ है। बेस 58 चेक का “चेक” हिस्सा भी महत्वपूर्ण है; इसका मतलब यह है कि आधार के परिणाम को एन्कोडिंग करने से पहले संदेश के हैश के पहले चार बाइट्स संदेश के अंत में जोड़े जाते हैं। उदाहरण के लिए, base zi ’को आधार ५६ से आधार ५ as में बदलने की प्रक्रिया इस प्रकार है:
- चरण 1: चेकसम = sha256 (sha256 (’x00 ‘+ checks zi’)) (ध्यान दें कि हम फ्रंट में एक जीरो बाइट जोड़ते हैं) ’97fbc63584f26bd0109f99c467c447607dbecff51b903e450207466114672261 =
- चरण 2: मध्यवर्ती = 00 x00 ‘+ ’zi’ + चेकसम [: 4] (द्विआधारी रूप में) 97 x00zix97xfbxc6x35 ‘
- चरण 3: आधार को ‘58 J 123xZAaruJ’ में बदलें
हालाँकि, आपको व्यक्तिगत रूप से इन सभी जटिलताओं से निपटने की आवश्यकता नहीं होगी; बिटकॉइन लाइब्रेरी आपके लिए सब कुछ संभालने के लिए मौजूद है, और हम लेख में कुछ बाद के बारे में बात करेंगे। लेकिन सबसे पहले, लेनदेन से निपटने.
ध्यान रखने वाली पहली महत्वपूर्ण बात यह है कि बिटकॉइन में आंतरिक रूप से “खातों” या “शेष” की अवधारणा नहीं है; सभी निधियों को “लेनदेन आउटपुट” के रूप में जाना जाता है। लेन-देन में एक या अधिक इनपुट होते हैं, प्रत्येक इनपुट एक मौजूदा अनपेक्षित लेनदेन आउटपुट (“UTXO”) खर्च करता है, और लेनदेन तब कुल आउटपुट में BTC की समान मात्रा में भेज सकता है जो कि इनपुट में है। यहाँ एक लेन-देन deserialized रूप में दिखता है:
{{ "लॉकटाइम": 0, "इन की": [{ "लिपि": "", "चौकी": { "सूची": 0, "हैश": "319ba90f1645eed46a8fd48e9754ca979c3371f59099d32634a8b56549ce02aa" }, "अनुक्रम": 4294967295}], "बहिष्कार": [{ "मूल्य": 1000000, "लिपि": "76a914a41d15ae657ad3bfd0846771a34d7584c37d54a288ac" } { "मूल्य": 344164, "लिपि": "76a914c4c5d791fcb4654a1ef5e03fe0ad3d9c598f982788ac" }], "संस्करण": 1}
और क्रमबद्ध रूप में:
0100000001aa02ce4965b5a83426d39990f571339c97ca54978ed48f6ad4ee45160fa99b31000000000000ffffffff0230750000000000976a914a41d15ae657ad3b3d07757447447447447447447447447447447447447447447344647647647647647647647647647647647647647647647647647647647647647647647647647647647644447647647647647647643643757753754757647647643753753754753754753753753753754447647647647647647647647647647647NaNa में सेहदा कांड होने जा रहा है।
“स्क्रिप्ट” पैरामीटर एक पते का प्रतिनिधित्व करने का सिर्फ एक और तरीका है; उपरोक्त लेन-देन में दो लिपियों को संबोधित करते हुए हम “1FxkfJQLJTXpW6QmxGT6oF43ZH959ns8Cq” और “1JwSSubhmg6iPPRRtyqhUYYH7bZg3Lfy1T” क्रमशः प्राप्त करते हैं। लेन-देन में एकल इनपुट पिछले लेनदेन आउटपुट का संदर्भ है; इसे ब्लॉकचेन पर देखते हुए, हम देखते हैं कि इसके पास खर्च करने के लिए 1354164 सैटोशिस उपलब्ध हैं (1 satoshi एक बिटकॉइन की सबसे छोटी इकाई है, जिसमें 100 मिलियन satoshi = 1 BTC है)। दो आउटपुट 1344164 खर्च करते हैं, एक शुल्क के रूप में 10000 संतोषी छोड़ते हैं.
ध्यान दें कि एक लेनदेन केवल अपनी संपूर्णता में एक आउटपुट खर्च कर सकता है, और आंशिक रूप से नहीं। इसके आस-पास जाने के लिए, मानक तंत्र “परिवर्तन” की अवधारणा है – एक आउटपुट को इच्छित गंतव्य पर भेजना, और फिर एक और आउटपुट बाकी को खुद को वापस भेजना है। उपरोक्त लेनदेन इसका एक उदाहरण है – पहला आउटपुट 0.01 BTC भुगतान होगा, और दूसरा परिवर्तन होगा। एक बार जब आप एक लेनदेन बनाते हैं, तो आपको प्रत्येक इनपुट को उस निजी कुंजी के साथ हस्ताक्षर करने की आवश्यकता होती है जो प्रत्येक पते से मेल खाती है। ऐसा करने के लिए प्रक्रिया बहुत शामिल है, लेकिन सौभाग्य से पुस्तकालय आपके लिए इसे संभालते हैं। एक बार हस्ताक्षर करने के बाद उपरोक्त लेनदेन कैसा दिखता है:
0100000001aa02ce4965b5a83426d39990f571339c97ca54978ed48f6ad4ee45160fa99b31000000008b48304502203bcabb367ca84b2af394597bff4a6169fa55b156708557256d2c584f1bd54e1502210086fdf257e58dbb5e1f3b4686f4385e86ea89e677a6c90a3c87ce276d88ad2b31014104e6eb4c73192bcc7b63f7e3c05ed52c0d98abac6f6aa0876e2e57eeda6b60fe03098cb63633d08077b14cc30efe9bc5c9866ebc1297c03399e27381539025f887ffffffff0240420f00000000001976a914a41d15ae657ad3bfd0846771a34d7584c37d54a288ac64400500000000001976a914c4c5d791fcb4654a1ef5e03fe0ad3d9c598f982788ac00000000
फिर, अंत में, आपको साइन इन किए गए लेनदेन को ब्लॉकचेन पर धकेलना होगा। मैन्युअल रूप से ऐसा करने का सबसे अच्छा तरीका है http://blockchain.info/pushtx. और यह मूल रूप से सभी बिटकॉइन के लिए है – जब तक कि हम बहुगुणित लेनदेन जैसे उन्नत सुविधाओं में नहीं आते हैं, लेकिन वे एक अन्य लेख में अधिक विस्तार से वर्णित हैं।.
बिटकॉइन
बिटकॉइन कोर बिटकॉइन विकास टीम द्वारा बनाया गया “संदर्भ ग्राहक” है; यह एक पूर्ण बिटकॉइन नोड है जो पूरे ब्लॉकचेन को डाउनलोड करता है और लेनदेन को संसाधित करता है। बिटकॉइन कुछ हद तक कार्यक्षमता में सीमित है; उदाहरण के लिए, यह आपको एक पते का लेन-देन इतिहास नहीं दे सकता है जब तक कि आपने उस पते को पहले से आयात नहीं किया था। हालांकि, यह अभी भी काफी शक्तिशाली है। एक बार आप बिटकॉइन डाउनलोड कर लें अपने प्रोजेक्ट पेज से और इसे बनाएं, पहला कदम आपकी बिटकॉइन निर्देशिका (लिनक्स पर ~ / .bitcoin) में निम्नलिखित सामग्री के साथ एक फ़ाइल बनाने के लिए है:
rpcuser = userrpcpassword = passrpcport = 8332txindex = 1
वांछित होने पर अपने उपयोगकर्ता नाम और पासवर्ड में स्थान दें। एक बार जब आप ऐसा करते हैं, तो निष्पादन योग्य निर्देशिका में नेविगेट करें (/ बिन यदि आपका संस्करण एक निष्पादन योग्य पूर्व-निर्मित, / src के साथ आया है यदि आपने इसे स्वयं बनाया है), और चलाएं। प्रारंभ करने के लिए कमांड लाइन पर ./bitcoind – daemon। डेमॉन। उस बिंदु पर, आपके पास बिटकॉइन कमांड चलाने के दो तरीके हैं.
पहला तरीका सरल है: कमांड के नाम और कमांड लाइन पर तर्कों के बाद “बिटकॉइन” दर्ज करें। उदाहरण के लिए:
>./ बिटकॉइन गेटब्लॉश 100000000839a8e6886ab5951d76f411475428afc90947ee320161bbf18eb6048>./ bitcoind getblock 00000000839a8e6886ab5951d76f411475428afc90947ee320161bbf18eb6048 { "हैश" : "00000000839a8e6886ab5951d76f411475428afc90947ee320161bbf18eb6048", "पुष्टियों" : 212362, "आकार" : 215, "ऊंचाई" : १, "संस्करण" : १, "विलयकर्ता" : "0e3e2357e806b6cdb1f70b54c3a3a17b6714ee1f0e68bebb44a74b1efd512098", "टेक्सास" : [ "0e3e2357e806b6cdb1f70b54c3a3a17b6714ee1f0e68bebb44a74b1efd512098" ], "समय" : 1231469665, "अस्थायी रूप से" : 2573394689, "बिट्स" : "1d00ffff", "कठिनाई" : 1.00000000, "पूर्ववर्ती" : "000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f", "अगली बात" : "000000006a625f06636b8bb6ac7b960a8d03705d1ace08b1a19da3fdcc99ddbd"}> bitcoind getrawtransaction 0e3e2357e806b6cdb1f70b54c3a3a17b6714ee1f0e68bebb44a74b1efd51209801000000010000000000000000000000000000000000000000000000000000000000000000ffffffff0704ffff001d0104ffffffff0100f2052a0100000043410496b538e853519c726a2c91e61ec11600ae1390813a627c66fb8be7947be63c52da7589379515d4e0a604f8141781e62294721166bf621e73a82cbf2342c858eeac00000000
दूसरा तरीका JSON-RPC का उपयोग कर रहा है। JSON-RPC एक सामान्य इंटरफ़ेस है जो आपको बिटकॉइन से कनेक्ट करने और किसी भी भाषा से इसके साथ कमांड चलाने की अनुमति देता है – संभवतः किसी अन्य कंप्यूटर से भी। बिटकॉइन विकि एक पेज है विभिन्न प्रोग्रामिंग भाषाओं में JSON-RPC कॉल करने के कुछ तरीकों का वर्णन करना; संक्षिप्तता के लिए मैं केवल दो को सूचीबद्ध करूंगा.
पायथन में:
इम्पोर्ट रिप्लेप्लिब, जसन, बेस 64 डीईएफ मेक्रेक्वेस्ट (url, यूजर, पास, मेथड, परम, हैस्प्रेसन = ट्रू): कनेक्शन = विंस्प्लिब.एचटीटीपी कॉनक्शन (url) पोस्टडेटा – json.dumps ({ "तरीका": तरीका, "पैरामीटर": params}) req = urllib2.Request (‘http: // localhost: 8001’, postdata, {‘Authorization’: b’Basic ‘+ base64.b64encode (user +’: + pass),}) अगर हैडर्सन: वापसी urllib2.urlopen (req) .read ()। पट्टी ()
और कमांड लाइन पर कर्ल का उपयोग करते हुए:
कर्ल – उपयोगकर्ता – पास – डेटा-बाइनरी ‘{"तरीका":,"पैरामीटर": [, …]} ‘http: // localhsot: 8332
एसएक्स
बिटकॉइन लेनदेन से निपटने के लिए दो वैकल्पिक कमांड लाइन उपकरण हैं: pybitcointools तथा एसएक्स. एसएक्स को लिबबिटबैंक डेवलपर अमीर ताकी द्वारा बनाया गया था, और अब इसे एक छोटी टीम द्वारा सक्रिय रूप से बनाए रखा जा रहा है; pybitcointools स्वयं द्वारा लिखा गया था। वाक्यविन्यास काफी समान है, हालांकि मतभेद हैं। एसएक्स स्थापित करना अपेक्षाकृत सरल है; आपको केवल एक पाठ फ़ाइल डाउनलोड करनी होगी, जिसे install-sx.sh कहा जाता है, कुछ लाइब्रेरी स्थापित करें, और पाठ फ़ाइल चलाएं। Ubuntu पर, कमांड लाइन निर्देश निम्नानुसार हैं:
wget http://sx.dyne.org/install-sx.shsudo apt-get install git build-Essential autoconf libtool libboost-all-dev pkg-config libcurl4-opensl-dev-devibleveldb-dev libzmq-dev libconfig ++ – dev libncurses5 देव qrencodechmod + x install-sx.sh./install-sx.sh
फिर, एक बार SX स्थापित होने के बाद, यहां कुछ ऐसा है जो आप इसके साथ कर सकते हैं। यदि आप केवल भुगतान प्रसंस्करण प्लेटफ़ॉर्म का निर्माण कर रहे हैं, तो यह केवल पते के इतिहास का पता लगाने और संभवतः लेनदेन लाने के लिए पर्याप्त होगा:
> sx इतिहास 114tTpMrJHJpNvkPZmz8KVcJoQjD5UtosdAddress: 114tTpMrJHJpNvkPZmz8KVcJoQjD5Utosd उत्पादन: eb84dd62287a1d85e3f31b0de869534a8f800fad559e36f779a45470aa4e8976: 0 output_height: 277,978 मूल्य: 100000 खर्च: 3216bc4b8294532cddab1ae2a95a336ee841be02e6246c1ad9cf1e7db788d10e: 0 spend_height: 277979Address: 114tTpMrJHJpNvkPZmz8KVcJoQjD5Utosd उत्पादन: 5a45c86c5aff8200db4c7f8a91b9a3e51932510cbeb2dc173fc8611bee5aeaaf: 1 output_height: 278,076 मूल्य: 70000 खर्च: 4817f863ace4337be7ea95476b2c73723fb83fbe0e1a6236fbf30f2a8aa14dee: 0 spend_height: 278,076> sx लाने-लेन-देन 516f0bfe2ed3703112434f645fdc7d805bba51c94c9d8f88b666f1c832eb423c010000000142f2e85e078a214d5c61b58276da5cec01311e026355c570b650c2e665585011010000008a47304402203aa40adefd0dc4a3f960b230a9e1b284d78a4b4dec9119368fdeb006af3b6c7b022071165df64ea4502003d8b6e9c46c28b5c5c748226737b4fe1ee8fc4269b50ee5014104a70f7c8b0a835f549f061b725bd3e06744963a07cb2f76097bafe040f939d6e6d23c6cc89e5b50aa944d26b7d1c8a1f3b8b4e6f7c2f54cf35fb46b0e4b9442e1ffffffff02a0860100000000001976a914ba55b9859c7356c5e5549c8a30c463e3db64e84488ac80054800000000001976a9145a35a4558b8a0140f4a73aaac0be891b99e3790e88ac00000000
यदि आप किसी पते के शेष की गणना करना चाहते हैं, तो आपको इतिहास प्राप्त करना होगा (शायद sx इतिहास -j 114tTpMrJHJpNvkPZmz8KVcJoQjD5Utosd का उपयोग करके अधिक कंप्यूटर-अनुकूल प्रारूप के लिए), पहले से ही खर्च किए गए आइटमों को फ़िल्टर करें, और मान जोड़ें। बाकी का। इससे आपको कुल सात सतियों की संख्या मिलेगी जो खर्च करने के लिए उपलब्ध पता (100 मिलियन सतोषियों = 1 बीटीसी) है। यदि आप लेन-देन की समझ बनाना चाहते हैं, तो आप लेन-देन को एक फ़ाइल में पेस्ट कर सकते हैं और फिर फ़ाइल पर sx showtx चला सकते हैं.
आप निजी कुंजी और पते के साथ भी काम कर सकते हैं:
> sx newkey > निजी १> बिल्ली> बिल्ली प्राइवेट 1 | sx pubkey04bfc8181cd833567e078cb03ec44034c226bf23db2482db2482db53513e0fcea205c40bd6db73db0c33296d8fa8e0bd347099e07787eeeaaaaa/aq8&vs=a> बिल्ली प्राइवेट 1 | sx addr1B772AGqphjSQqeecdTBmnBdgMBPYXX7
और लेन-देन करें। यहाँ हम आउटपुट का उपयोग करते हैं 819171fa2eaa33fc684c800ae2ce34cff8400d4d966e995c6a2f2e0e970b6f703d: 0 से 1800k7SqRHuS4Kf3f6dmsvqq7q7x7007 पर 90000 सतोषियाँ भेजने के लिए।
> sx mxx txfile.tx -i 819171fa2eaa33fc684c800ae2ce34cff8400d4d966e995c6a2f0e970b6b703d: 0 -o 18qk7SqRHuS4Kf3f6dmsvqqv7v> कैट txfile.tx01000000013d706f0b970e2f6a5c996e964d0d40f8cf34cee20a804c68fc33aa2efa7181810000000000ffffffff01905f010000000091976975581817558181446818164681> sx rawscript डुप हैश 160 [`गूंज 1B772AGqphjSQqqeecdTBmnBdgMBPYDXt7 | sx decode-addr`] चेकविवर को बराबर करें > कच्चा> cat raw.script76a9146ed8c762b24ba024df09cb323ea525b06da3acb788ac> इको 5JRLqUG1FwSimZwSzNLPG1BKCENCRhDwkVveL59AEqt97bbkCD1 | sx साइन-इनपुट txfile.tx 0 `बिल्ली raw.script` > गाया हुआ> cat sig3044022069f05eacfe93fc6c028bd078228d7807af07c5ed7566491c709b181950d735830220788e06c63512c07239b94740a36de724b54c0768d2d2d2db> sx rawscript [`cat sig`] [04bfc8181cd833567e078cb03ec44034c226bf23db2482db53513e0fcc205c40bd6dc73db0c33296d8fa8e08448998998998998998997997998678b8 है sx सेट-इनपुट txfile.tx 0 > txfile2.tx> बिल्ली txfile2.tx01000000013d706f0b970e2f6a5c996e964d0d40f8cf34cee20a804c68fc33aa2efa719181000000008a473044022069f05eacfe93fc6c028bd078228d7807af07c5ed7566491c709b181950d735830220788e089c63512c07239b94740a36de724b54c076192dbd27584b5b729986420d014104bfc8181cd833567e078cb03ec44034c226bf23dbb2482db53513e0fcea205c40bd6dc73db0c33296d8fa8e0bd347099e07787e17a2a40293004efdb512ff51e2ffffffff01905f0100000000001976a9145600d581a94f65067a09103609e919e3c01141ed88ac00000000> sx प्रसारण-टीएक्स txfile2.tx
और आप लेन-देन को मान्य भी कर सकते हैं:
> sx validtx txfile2.txStatus: इनपुट की मान्यता विफल
त्रुटि समझ में आती है क्योंकि मेरे द्वारा ऊपर दिए गए आउटपुट पहले ही खर्च हो चुके थे। कुल मिलाकर, SX आपको आवश्यक रूप से एक फ्लाईवेट “बिटकॉइन क्लाइंट” के साथ लेन-देन आउटपुट का चयन करने और मैन्युअल रूप से लेनदेन करने की अनुमति देता है। बस एक चेतावनी हालांकि: यह एक बहुत ही जोखिम भरा काम है, क्योंकि अगर आप गलती से एक ट्रांजेक्शन आउटपुट को शून्य छोड़ देते हैं, तो सिस्टम आपकी त्रुटि को पकड़ने के लिए बहुत कम स्तर है और आप 90 शुल्क का भुगतान करेंगे।.
Pybitcointools
Pybitcointools वास्तव में एक में दो चीजें हैं; यह एक ही समय में एक पायथन लाइब्रेरी है जो आपको बिटकॉइन पते, चाबियाँ और लेनदेन और एक एसएक्स-जैसे कमांड लाइन टूल में हेरफेर करने की अनुमति देता है। दोनों को स्थापित करने के लिए, pybitcointools डाउनलोड करें यहां, निर्देशिका में नेविगेट करें, और sudo python setup.py स्थापित करें। वहाँ से, पायथन कंसोल खोलें और pybitcointools आयात से टाइप करें * सभी pybitcointts कमांड आयात करने के लिए.
पहला मुख्य प्रबंधन:
> निजी = sha256 (‘कुछ बड़े लंबे दिमाग का पासवर्ड’)> Private’57c617d9b4e1f7af6ec97ca2ff57e94a28279a7eedd4d12a99fa11170e94f5a4 ‘> पब = प्राइवेटटॉप (निजी)> pub’0420f34c2786b4bae593e22596631b025f3ff46e200fc1d4b52ef49bdc2ed00b26c584b7e3e2323fb01be2294a1f5a5b5a0cf71a203a0348468468468bb8fb8fb8bb5be5bf5ae08e5e8a8&hl=hi> addr = pubtoaddr (पब)> addr’1CQLd3bhw4EzaurHbKCwM5YZbUQfA4ReY6 ‘
लेकिन, जैसा कि ऊपर बताया गया है, pybitcointools में pybtctool, SX जैसी कमांड लाइन टूल भी शामिल है। Pybtctool का उपयोग करने के लिए, रन करें:
> pybtctool sha256 "कुछ बड़े लंबे दिमागवाला पासवर्ड"57c617d9b4e1f7af6ec97ca2ff57e94a28279a7eedd4d12a99fa11170e94f5a4> pybtctool privtopub 57c617d9b4e1f7af6ec97ca2ff57e94a28279a7eedd4d12a99fa11170e94f5a40420f3486274b8654b2a2252b02c2f5&cf=hf&hl=hvdc&hl=hi&hl=hi&hl=hi&hl=hvdc&hl=hvdc&hl=hi&c=f5&hl=hf इसिलए इसके अलावा हो सकता है।> pybtctool pubtoaddr 0420f34c2786b4bae593e22596631b025f3ff46e200fc1d4b52ef49bbdc2edcbc2c5cbc5e5bb5e5ebbbe2be0a5a5aa8f5&a=a05&f=h8&hf=hf&hf=hf&h==h&hf=&h=&h=&h=&h=&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& तो तो तो इसके आकार और अधिक पढ़ें
अब, इतिहास और लेन-देन लाने पर:
> h = इतिहास (addr)> ज [{ ‘उत्पादन’: u’97f7c7d8ac85e40c255f8a763b6cd9a68f3a94d2e93e8bfa08f977b92e55465e: 0 ‘,’ मूल्य ‘: 50000,’ पता ‘: u’1CQLd3bhw4EzaURHbKCwM5YZbUQfA4ReY6’} { ‘उत्पादन’: u’4cc806bb04f730c445c60b3e0f4f44b54769a1c196ca37d8d4002135e4abd171: 1 ‘,’ मूल्य ‘: 50000,’ पता ‘: u’1CQLd3bhw4EzaURHbKCwM5YZbUQfA4ReY6′}]> fetchtx ( ’97f7c7d8ac85e40c255f8a763b6cd9a68f3a94d2e93e8bfa08f977b92e55465e’) ‘0100000002b8497b5d250420d0e0ef55150ae49f451846791f54b858e4d7b50e23c087b560010000008c493046022100a49c01bbf7a6200b05c61072f79fbbcbb56182e0082f85734ff501efd8f2180a022100a6d2b19a1023c4197206b1ea0d58165fa4d6170e7823d90d1cdb0f2704ceb5d0014104ba8b7ec1189b046d0f6dc68d2cafa4bfc30ea34b8f52a0f815550ffd5f5dfe12df06f2c9a3c1b206b833fe274601fe19e0afd9c47e251ba247edfa7a0237ab3affffffff71d1abe4352100d4d837ca96c1a16947b5444f0f3e0bc645c430f704bb06c84c000000008c493046022100c7309b13e54896533ebb6c369b1f46992ed7f8d96c8eb606cfd66a06bf6a061d022100e1cb8d32b380dac42584a5e1a6ff00c209767471b8bb82a13bf8d36221a39aa9014104a88f9a448cfcf259df1da679a37dd8e4c148cb6f0ba6a9b1e7d7019b09ef1034495f02d4cdf27d2bab41da3bce3f9508b20f6ad265b5940799610b69a12d02a5ffffffff0250c30000000000001976a9147d13547544ecc1f28eda0c0766ef4eb214de104588ac953d0800000000001976a9145fe616df99d43ae8001ca941f381572cd1cb74b388ac00000000’
ध्यान दें कि pybtctool में एक सुविधाजनक -s स्विच शामिल है जिसे आप कुछ ऑपरेशनों को एक साथ करने के लिए उपयोग कर सकते हैं:
> pybtctool sha256 ‘कुछ बड़े लंबे मस्तिष्कवाले पासवर्ड’ | pybtctool -s privtoaddr | pybtctool -s इतिहास [{ ‘उत्पादन’: u’97f7c7d8ac85e40c255f8a763b6cd9a68f3a94d2e93e8bfa08f977b92e55465e: 0 ‘,’ मूल्य ‘: 50000,’ पता ‘: u’1CQLd3bhw4EzaURHbKCwM5YZbUQfA4ReY6’} { ‘उत्पादन’: u’4cc806bb04f730c445c60b3e0f4f44b54769a1c196ca37d8d4002135e4abd171: 1 ‘,’ मूल्य ‘: 50000 , ‘पता’: u’1CQLd3bhw4EzaURHbKCwM5YZbUQfA4ReY6 ‘}]> pybtctool fetchtx 97f7c7d8ac85e40c255f8a763b6cd9a68f3a94d2e93e8bfa08f977b92e554ne | pybtctool -s deserialize {"लॉकटाइम": 0, "बहिष्कार": [{"मूल्य": 50000, "लिपि": "76a9147d13547544ecc1f28eda0c0766ef4eb214de10458888ac"} {"मूल्य": 540053, "लिपि": "76a9145fe616df99d43ae8001ca941f381572cd1cb74b388ac"}], "संस्करण": १, "इन की": [{"लिपि": "493046022100a49c01bbf7a6200b05c61072f79fbbcbb56182e0082f85734ff501efd8f2180a022100a6d2b19a1023c4197206b1ea0d58165fa4d6170e7823d90d1cdb0f2704ceb5d0014104ba8b7ec1189b046d0f6dc68d2cafa4bfc30ea34b8f52a0f815550ffd5f5dfe12df06f2c9a3c1b206b833fe274601fe19e0afd9c47e251ba247edfa7a0237ab3a", "चौकी": {"सूची": १, "हैश": "60b587c0230eb5d7e458b8541f794618459fe40a1555efe0d02004255d7b49b8"}, "अनुक्रम": 4294967295}, {"लिपि": "493046022100c7309b13e54896533ebb6c369b1f46992ed7f8d96c8eb606cfd66a06bf6a061d022100e1cb8d32b380dac42584a5e1a6ff00c209767471b8bb82a13bf8d36221a39aa9014104a88f9a448cfcf259df1da679a37dd8e4c148cb6f0ba6a9b1e7d7019b09ef1034495f02d4cdf27d2bab41da3bce3f9508b20f6ad265b5940799610b69a12d02a5", "चौकी": {"सूची": 0, "हैश": "4cc806bb04f730c445c60b3e0f4f44b54769a1c196ca37d8d4002135e4abd171"}, "अनुक्रम": 4294967295}]}
नोट डिसरिअलाइज़ कमांड; आप निश्चित रूप से pybitcointools पुस्तकालय में भी इसका इस्तेमाल कर सकते हैं। और, ज़ाहिर है, आप लेनदेन कर सकते हैं:
> pybtctool mktx 97f7c7d8ac85e40c255f8a763b6cd9a68f3a94d2e93e8bfa08f977b92e55465e: 0 4cc806bb04f730c445c60b3e0f4f44b54769a1c196ca37d8d4002135e4abd171: 1 16iw1MQ1sy1DtRPYw3ao1bCamoyBJtRB4t: 90000 | pybtctool -s संकेत 0 57c617d9b4e1f7af6ec97ca2ff57e94a28279a7eedd4d12a99fa11170e94f5a401000000025e46552eb977f908fa8b3ee9d2943a8fa6d96c3b768a5f250ce485acd8c7f797000000008b483045022100dd29d89a28451febb990fb1dafa21245b105140083ced315ebcdea187572b3990220713f2e554f384d29d7abfedf39f0eb92afba0ef46f374e49d43a728a0ff6046e01410420f34c2786b4bae593e22596631b025f3ff46e200fc1d4b52ef49bbdc2ed00b26c584b7e32523fb01be2294a1f8a5eb0cf71a203cc034ced46ea92a8df16c6e9ffffffff71d1abe4352100d4d837ca96c1a16947b5444f0f3e0bc645c430f704bb06c84c0100000000ffffffff01905f0100000000001976a9143ec6c3ed8dfc3ceabcc1cbdb0c5aef4e2d02873c88ac00000000
फिर आप पुश -x या eligius_pushtx का उपयोग करके लेन-देन को एक मध्यम आकार के खनन पूल में सीधे धकेल सकते हैं। eligius_pushtx तथाकथित “गैर-मानक” लेनदेन के लिए उपयोगी है जिसे साधारण बिटकॉइन नोड अस्वीकार करते हैं; उदाहरण के लिए, तीन से अधिक पार्टियों के बीच होने वाले बहु-लेनदेन लेनदेन को यहां से भेजा जा सकता है.
पुस्तकालयों
Pybitcointools और SX वहाँ से एकमात्र उपकरण नहीं हैं; लगभग हर भाषा में बिटकॉइन लाइब्रेरी हैं। यहाँ कुछ हैं:
- BitcoinJS (जावास्क्रिप्ट): स्टीफन थॉमस का मूल संस्करण, या मेरा कांटा
- अजगर- ecdsa (अजगर)
- हास्किन (हास्केल)
- libbitcoin (सी ++)
- बिटकॉइन (जावा)
- btcd (गो)
खुश कोडिंग!