تعارفبٹ کوائن پیغامات پر دستخط اور تصدیق کے لیے ایک ہلکا پھلکا مکمل اوپن سورس سی ایل آئی ٹول۔ بٹ کوائن پیغام کسی بھی خفیہ معلومات کو ظاہر کیے بغیر کسی دیے گئے پتے پر ملکیت ثابت کرنے کا سب سے سیدھا اور قدرتی طریقہ ہے۔
:یہ ٹول بی آئی پی137 میں بیان کردہ تفصیلات کی قریب سے پیروی کرتا ہے
"...جبکہ پی 2 پی کے ایچ ایڈریس کے ساتھ بٹ کوائن پرائیویٹ کیز کے ساتھ پیغامات پر ڈیجیٹل طور پر دستخط کرنے کے بارے میں کوئی بی آئی پی نہیں لکھا گیا تھا، یہ کافی اچھی طرح سے سمجھا جانے والا عمل ہے، تاہم سیگ وِٹ (پی 2 ایس ایچ اور بیچ32 دونوں کی شکل میں) پتوں کے تعارف کے ساتھ، یہ یہ واضح نہیں ہے کہ پی 2 پی کے ایچ، پی 2 ایس ایچ، یا بیچ32 ایڈریس کو ایک دوسرے سے کیسے الگ کیا جائے یہ بی آئی پی ایک معیاری دستخطی فارمیٹ تجویز کرتا ہے جو کلائنٹس کو مختلف ایڈریس فارمیٹس کے درمیان فرق کرنے کی اجازت دیتا ہے۔"
:براہ کرم نوٹ کریں کہ
"چونکہ اس فارمیٹ میں پی 2 پی کے ایچ کیز شامل ہیں، اس لیے یہ پیچھے کی طرف مطابقت رکھتا ہے، لیکن ذہن میں رکھیں کہ کچھ سافٹ ویئر میں ہیڈر کی رینجز کی جانچ پڑتال ہوتی ہے اور نئی سیگ وِٹ ہیڈر کی اقسام کو غلطیوں کے طور پر رپورٹ کرے گا۔"https://github.com/bitcoin/bips/blob/master/bip-0137.mediawiki :مزید معلومات
وہ بٹوے جو مکمل طور پر بی آئی پی137 قسم کے دستخطوں کی حمایت کرتے ہیں:
1) ٹریزر
2) اسپیرو والیٹ
3) کولڈ کارڈ؟
4) ...
یہ ٹول بنیادی طور پر اس معیار کے استعمال کو بڑھانے کی کوشش ہے۔
تنصیب1):پپ کے ساتھ انسٹال کرنے کے لیے، چلائیں
پپ انسٹال بٹ کوائن میسج ٹول
آپ اس ایپلی کیشن کے لیے ایک ورچوئل ماحول بنا سکتے ہیں اور اسے وہاں سے چلا سکتے ہیں، مثال کے طور پر شاعری کا استعمال۔
ایک نیا فولڈر بنائیں (بی ایم ٹی بٹ کوائن میسج ٹول کے لیے مختصر ہے یا آپ جو چاہیں منتخب کر سکتے ہیں
شاعری نئی بی ایم ٹی
cd ./bmt
:ایک نیا ورچوئل ماحول بنائیں
شاعری کی تنصیب
شاعری کا خول
:اس کمانڈ کے ذریعے PyPi سے ایپلی کیشن ڈاؤن لوڈ کریں
شاعری بٹ کوائن-میسج-ٹول شامل کریں۔
:اسے ٹرمینل سے چلانے کے لیے یہ کمانڈ استعمال کریں
python3 -m بٹ کوائن-میسج-ٹول
جب آپ دلائل کے بغیر ایپ چلاتے ہیں، تو آپ کو مدد کا پیغام نظر آئے گا۔
2) متبادل طور پر، آپ اس کمانڈ کے ذریعے گیتھب سے براہ راست سورس کوڈ :ڈاؤن لوڈ کر سکتے ہیں
git clone https://github.com/shadowy-pycoder/bitcoin_message_tool.git
یا آپ ریپو کو فورک کرسکتے ہیں اور فورک شدہ ورژن کو کلون کرسکتے ہیں۔
:اس کمانڈ کے ذریعے ضروریات کو انسٹال کریں
pip install -r /path/to/requirements.txt
فورک شدہ یا کلون شدہ ریپو سے ایپلیکیشن چلانے کے لیے، آپ آسانی سے درج :ذیل کو استعمال کر سکتے ہیں
python3 /path/to/bmt.py -h
بٹ کوائن میسج ٹول کا استعمال کیسے کریںاس سی ایل آئی ٹول کے ذریعے پیغامات پر دستخط کرنے اور تصدیق کرنے کے طریقے کے بارے میں درج ذیل ڈاکسٹ کو واضح تصویر دینی چاہیے:
:بنیادی استعمال
python -m bitcoin_message_tool -h
یا
python bmt.py -h
usage: python3 bmt.py [-h] {sign,verify} ...
بٹ کوائن میسج پر دستخط کرنے/توثیقی ٹول
:پوزیشنی دلائل
{دستخط،تصدیق}
:اختیارات
-h، --help یہ مدد پیغام دکھائیں اور باہر نکلیں
:پیغام پر دستخط
python bmt.py sign -h
استعمال: python3 bmt.py sign [-h] -p -a {p2pkh,p2wpkh-p2sh,p2wpkh} -m [MESSAGE ...] [-d] [-v]
:اختیارات
-h، --help یہ مدد پیغام دکھائیں اور باہر نکلیں
:دستخطی پیغام
-p, --privkey والیٹ امپورٹ فارمیٹ (ڈبلیو آئی ایف) میں نجی کلید
-a {p2pkh,p2wpkh-p2sh,p2wpkh}, --addr_type {p2pkh,p2wpkh-p2sh,p2wpkh}
بٹ کوائن ایڈریس کی قسم
-m [MESSAGE ...], --message [MESSAGE ...]
دستخط کرنے کا پیغام
-d, --deterministic مقررہ طور پر دستخط کریں (RFC6979)
-v, --verbose خوبصورت پیغام پرنٹ کریں
مثال: کمپریسڈ پرائیویٹ کلید اور پی 2 پی کے ایچ ایڈریس کے لیے غیر طے شدہ دستخط
$python bmt.py دستخط -p -a p2pkh -m ECDSA سب سے زیادہ مزہ ہے جس کا میں نے کبھی تجربہ کیا ہے۔
PrivateKey(WIF): <یہاں پرائیویٹ کلید داخل کریں>
براہ کرم نوٹ کریں کہ نجی کلید ٹرمینل پر ظاہر نہیں ہوگی
:آؤٹ پٹ
بٹ کوائن ایڈریس: 175A5YsPUdM71mnNCC3i8faxxYJgBonjWL
میسج: ECDSA سب سے زیادہ مزہ ہے جس کا میں نے کبھی تجربہ کیا ہے
دستخط: IBuc5GXSJCr6m7KevsBAoCiX8ToOjW2CDZMr6PCEbiHwQJ237LZTj/REbDHI1/yelY6uBWEWXiOWoGnajlgvO/A=
-v/--verbose پرچم کے ساتھ ایک ہی آؤٹ پٹ:
-----BEGIN BITCOIN SIGNED MESSAGE-----
ECDSA سب سے زیادہ مزہ ہے جس کا میں نے کبھی تجربہ کیا ہے۔
-----BEGIN BITCOIN SIGNATURE-----
175A5YsPUdM71mnNCC3i8faxxYJgBonjWL
IBuc5GXSJCr6m7KevsBAoCiX8ToOjW2CDZMr6PCEbiHwQJ237LZTj/REbDHI1/yelY6uBWEWXiOWoGnajlgvO/A=
-----END BITCOIN SIGNATURE-----
:پیغام کی تصدیق
python bmt.py تصدیق -h
استعمال: python3 bmt.py تصدیق [-h] -a ADDRESS -m [MESSAGE ...] -s SIGNATURE [-v] [-r]
:اختیارات
-h، --help یہ مدد پیغام دکھائیں اور باہر نکلیں۔
:پیغام کی تصدیق کریں
-a ADDRESS, --address ADDRESS
بٹ کوائن ایڈریس کی وضاحت کریں
-m [MESSAGE ...], --message [MESSAGE ...]
تصدیق کے لیے پیغام
-s SIGNATURE, --signature SIGNATURE
بیس 64 فارمیٹ میں بٹ کوائن کے دستخط
-v, --verbose مکمل پیغام پرنٹ کریں
-r, --recpub عوامی کلید کو بازیافت کریں
مثال: وربوز موڈ میں پیغام کی تصدیق
python bmt.py تصدیق -a 175A5YsPUdM71mnNCC3i8faxxYJgBonjWL \
> -m ECDSA is the most fun I have ever experienced \
> -s HyiLDcQQ1p2bKmyqM0e5oIBQtKSZds4kJQ+VbZWpr0kYA6Qkam2MlUeTr+lm1teUGHuLapfa43JjyrRqdSA0pxs= \
> -v
:آؤٹ پٹ
سچ
پیغام کی طرف سے تصدیق شدہ175A5YsPUdM71mnNCC3i8faxxYJgBonjWL
https://github.com/shadowy-pycoder/bitcoin_message_tool :مزید مثالیں اور سورس کوڈ یہاں پایا جا سکتا ہے
اسپیرو والیٹ کے ساتھ ٹیسٹآئیے اصلی والیٹ کے ساتھ بنائے گئے سیگ وِٹ دستخط کی تصدیق کریں:
:نتیجہ
آئیے اس ٹول کے ذریعہ بنائے گئے ایک سیگ وِٹ دستخط کی تصدیق کریں:
:نتیجہ