Pages:
Author

Topic: أداة رسالة البيتكوين - أداة التوقيع والتحق&#1 - page 2. (Read 415 times)

legendary
Activity: 2702
Merit: 3045
Top Crypto Casino
^^
ملاحظة جيدة اخي اوميغا.
من الواضح أن هناك مصطلحات غريبة في الموضوع لا نستعملها عادة. لذلك على الأغلب انه تم الاعتماد على أداة ترجمة آلية.
قمت باستعمال الترجمة الالية للمتصفح لترجمة الموضوع الأصلي و حصلت على نتيجة متطابقة تقريبا مع ما طرح هنا:
هذه هي النتيجة:


ارجو من صاحب الموضوع أن يفسر لنا هذا لأنه أن تأكد اعتماده على وسائل ترجمة آلية فسيكون مخالفا لقوانين المنتدى، للأسف.
staff
Activity: 3500
Merit: 6152
Do you fluently speak arabic? or the translations are made using AI or translations tools? I'm not talking about this post alone, but also the previous posts you've recently made in the arabic localboard.
sr. member
Activity: 280
Merit: 367
AOBT ~ English >>> Arabic
witcher_sense :المؤلف
Bitcoin Message Tool - command-line signer & verifier :الموضوع الأصلي




مقدمة

أداة CLI خفيفة الوزن مفتوحة المصدر بالكامل لتوقيع رسائل البيتكوين والتحقق منها. رسالة البيتكوين هي الطريقة الأكثر مباشرة وطبيعية لإثبات الملكية لعنوان معين دون الكشف عن أي معلومات سرية.

تتبع هذه الأداة بشكل وثيق المواصفات الموضحة في BIP137:

"... في حين لم يتم كتابة خطة عمل BIP لكيفية التوقيع الرقمي على الرسائل باستخدام مفاتيح خاصة لبيتكوين بعناوين P2PKH، إلا أنها عملية مفهومة جيدًا إلى حد ما، ومع ذلك، مع تقديم Segwit (سواء في شكل عناوين P2SH أو bech32)، فمن غير الواضح كيفية التمييز بين عناوين P2PKH أو P2SH أو bech32. تقترح خطة العمل BIP هذه تنسيق توقيع قياسي يسمح للعملاء بالتمييز بين تنسيقات العناوين المختلفة."

يرجى ملاحظة أن:

"نظرًا لأن هذا التنسيق يتضمن مفاتيح P2PKH، فهو متوافق مع الإصدارات السابقة، ولكن ضع في اعتبارك أن بعض البرامج لديها عمليات فحص لنطاقات الرؤوس وستقوم بالإبلاغ عن أنواع رؤوس segwit الأحدث على أنها أخطاء."

لمزيد من المعلومات: https://github.com/bitcoin/bips/blob/master/bip-0137.mediawiki

المحافظ التي تدعم بشكل كامل نوع التوقيعات BIP137:

1) تريزور
2) Sparrow Wallet
3) Coldcard؟
4) ...

هذه الأداة هي في الأساس محاولة لتوسيع استخدام هذا المعيار.

التثبيت

1) للتثبيت باستخدام pip، قم بتشغيل:

Code:
pip install bitcoin-message-tool

يمكنك إنشاء بيئة افتراضية لهذا التطبيق وتشغيله من هناك، على سبيل المثال باستخدام شِعر.

قم بإنشاء مجلد جديد (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) بدلاً من ذلك، يمكنك تنزيل الكود المصدر مباشرةً من جيثب عبر هذا الأمر:

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

كيفية استخدام أداة رسالة البيتكوين

يجب أن يعطي الاختبار التالي صورة واضحة حول كيفية التوقيع والتحقق من الرسائل باستخدام أداة CLI هذه:

الاستخدام الأساسي:

Code:
python -m bitcoin_message_tool -h

or

python bmt.py -h
usage: python3 bmt.py [-h] {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

توقيع الرسالة:
-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):
يرجى ملاحظة أن المفتاح الخاص لن يظهر على المحطة الطرفية.

الإخراج:

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

التحقق من الرسالة:
-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

مثال: التحقق من الرسائل في الوضع المطول

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 Wallet

دعونا نتحقق من توقيع SegWit الذي تم إنشاؤه باستخدام محفظة حقيقية:



نتيجة:



دعنا نتحقق من توقيع SegWit الذي تم إنشاؤه بواسطة هذه الأداة:



نتيجة:






تمت الترجمة بمبادرة من:

Pages:
Jump to: