Voted Coins
follow us on twitter . like us on facebook . follow us on instagram . subscribe to our youtube channel . announcements on telegram channel . ask urgent question ONLY . Subscribe to our reddit . Altcoins Talks Shop Shop


This is an Ad. Advertised sites are not endorsement by our Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise Here

Author Topic: বিটকয়েন মেসেজ টুল - কমান্ড লাইন সাইনার  (Read 319 times)

Online DYING_S0UL

  • D mods
  • Hero Member
  • *
  • *
  • *
  • Activity: 1040
  • points:
    84636
  • Karma: 508
  • Bitcoin Mixer| Since 2019
  • Trade Count: (0)
  • Referrals: 0
  • Last Active: Today at 07:40:50 PM
    • View Profile

  • Total Badges: 18
    Badges: (View All)
    1000 Posts 10 Poll Votes One year Anniversary
লেখক : 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 ওয়ালেট
3) Coldcard?
4) ...

এই টুলটি মূলত এই স্ট্যান্ডার্ডের ব্যবহার বাড়ানোর একটি প্রচেষ্টা।

ইনস্টলেশন

1)pip এর মাধ্যমে ইনস্টল করার ক্ষেত্রে, নিচের কমান্ডটি রান করুন:

Code: [Select]
pip install bitcoin-message-tool
আপনি এই আপ্লিকেশনটির জন্য একটি ভার্চুয়াল এনভায়রনমেন্ট তৈরি করে নিতে পারবেন এবং চাইলে সেখান থেকে এটি রান করা যাবে, উদাহরণস্বরূপ Poetry ব্যবহার করে এটি করা যায়।

নতুন একটি ফোল্ডার তৈরি করুন (বিটকয়েন মেসেজ টুল সংক্ষেপে bmt অথবা আপনার যা মনে চায় বেছে নিন):

Code: [Select]
poetry new bmt
Code: [Select]
cd ./bmt
নতুন একটি ভার্চুয়াল এনভায়রনমেন্ট তৈরি করুন:

Code: [Select]
poetry install
Code: [Select]
poetry shell
PyPi কমান্ডটি ব্যবহার করে এপ্লিকেশনটি ডাউনলোড করে নিন:
Code: [Select]
poetry add bitcoin-message-tool
টার্মিনালে এপ্লিকেশনটি রান করার জন্য নিচের কমান্ডটি দিন:

Code: [Select]
python3 -m bitcoin_message_tool
আপনি যদি কোনো রকম আর্গুমেন্ট ছাড়াই এপস্ টি রান করেন, সেক্ষেত্রে আপনি একটি হেল্প মেসেজ দেখতে পাবেন।

2) বিকল্পভাবে, আপনি এই কমান্ডটির মাধ্যমে সরাসরি গিটহাব থেকে সোর্স কোডটি ডাউনলোড করে নিতে পারবেন।:

Code: [Select]
git clone https://github.com/shadowy-pycoder/bitcoin_message_tool.git

আথবা আপনি রিপোজিট্যারি ফোর্ক করুন এবং তারপর সেই ফোর্ক করা ভার্সনটি ক্লন করে নিন

নিচের কমান্ডটি দিয়ে requirements.txt ইনস্টল করে নিন:

Code: [Select]
pip install -r /path/to/requirements.txt
ফোর্কড বা ক্লোন করা রিপোজিট্যারি থেকে এপ্লিকেশনটি রান করার জন্য, নিচের কমান্ডটি দিন:

Code: [Select]
python3 /path/to/bmt.py -h
কিভাবে বিটকয়েন মেসেজ টুল ব্যবহার করবেন

নিম্নলিখিত পরীক্ষাটির মাধ্যমে এই CLI টুলটি ব্যবহার কিভাবে একটি বিটকয়েন মেসেজ সাইন এবং ভেরিফাই করা যাবে তার স্পষ্ট ধারণা দিবে:

সাধারণ ব্যবহার:

Code: [Select]
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: [Select]
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: [Select]
$python bmt.py sign -p -a p2pkh -m ECDSA is the most fun I have ever experienced

PrivateKey(WIF): <insert private key here>
দয়া করে মনে রাখবেন যে প্রাইভেট কী কিন্তু টার্মিনালে দেখা যাবে না।

আউটপুট:

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

 -v/--verbose flag ব্যবহার করে একই আউটপুট:

Code: [Select]
-----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: [Select]
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 mode এ মেসেজ ভেরিফিকেশন

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

আউটপুট:

Code: [Select]
True
Message verified to be from 175A5YsPUdM71mnNCC3i8faxxYJgBonjWL

আরো উদাহরণ এবং সোর্স কোড এখানে পাওয়া যাবে: https://github.com/shadowy-pycoder/bitcoin_message_tool

Sparrow ওয়ালেট দিয়ে করা পরীক্ষা

আসুন এবার আমরা আসল একটি ওয়ালেট দিয়ে তৈরি করা SegWit সিগ্নেচার ভেরিফাই করে দেখি::



ফলাফল:



এবার আসুন এই টুল দিয়ে তৈরি করা একটি SegWit সিগ্নেচার ভেরিফাই করে দেখি:



ফলাফল:





অনুবাদ টি যাদের উদ্যোগে করা হয়েছে:



Altcoins Talks - Cryptocurrency Forum


This is an Ad. Advertised sites are not endorsement by our Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise Here


 

ETH & ERC20 Tokens Donations: 0x2143F7146F0AadC0F9d85ea98F23273Da0e002Ab
BNB & BEP20 Tokens Donations: 0xcbDAB774B5659cB905d4db5487F9e2057b96147F
BTC Donations: bc1qjf99wr3dz9jn9fr43q28x0r50zeyxewcq8swng
BTC Tips for Moderators: 1Pz1S3d4Aiq7QE4m3MmuoUPEvKaAYbZRoG
Powered by SMFPacks Social Login Mod