Author

Topic: Bitcoin Mesaj Aracı - Komut Satırı İmzalayıcı ve Doğrulayıcı (Read 71 times)

sr. member
Activity: 1246
Merit: 348
Best Crypto / Online Casino Writing Services

Yazar: witcher_sense

Ana Konu: Bitcoin Message Tool - command-line signer & verifier



Bitcoin mesajlarının imzalanması ve doğrulanması için hafif, tamamen açık kaynak kodlu bir CLI aracı. Bitcoin mesajları, herhangi bir gizli birimi ifşa etmeden belirli bir adres üzerindeki mülkiyeti kanıtlamanın en basit ve doğal olarak iletilir.

Bu araç, BIP137'de anlatılan özellikleri detaylı takip eder:

"...Bitcoin özel anahtarlarıyla yani private keylerle, P2PKH adresleri kullanarak mesajları dijital olarak imzalamaya yönelik yazılmış bir BIP olmasa da bu süreç oldukça iyi anlaşılmıştır. Ancak, Segwit'in (hem P2SH hem de bech32 formunda) adreslerle tanıtılmasıyla birlikte, bir P2PKH, P2SH veya bech32 adresini birbirinden ayırt etmenin nasıl yapılacağı belirsiz hale gelmiştir. Bu BIP, müşterilerin farklı adres formatlarını ayırt etmesine olanak tanıyacak standart bir imza formatı önermektedir.."

Lütfen şunu da unutmayın:

"bu format P2PKH anahtarlarını içerdiği için geriye dönük uyumludur, ancak bazı yazılımların başlık aralıklarını kontrol ettiğini ve daha yeni segwit başlık türlerini hata olarak bildireceğini de göz ardı etmeyin."

Daha fazla bilgi için: https://github.com/bitcoin/bips/blob/master/bip-0137.mediawiki

BIP137 imza türünü tam olarak destekleyen cüzdanlar:

1) Trezor
2) Sparrow Cüzdan
3) Coldcard?
4) ...

Bu araç temel olarak bu standardın kullanımını genişletme girişimidir.

Kurulum

1) Pip ile kurmak için aşağıdaki kodları çalıştırın:

Code:
pip install bitcoin-message-tool

Bu uygulama için sanal bir ortam oluşturabilir ve oradan çalıştırabilirsiniz, örneğin Poetry'yi kullanarak.

Yeni bir klasör oluşturun (bmt, Bitcoin Message Tool'un kısaltmasıdır veya istediğinizi seçebilirsiniz):

Code:
poetry new bmt

Code:
cd ./bmt

Yeni bir sanal ortam oluşturun:

Code:
poetry install
Code:
poetry shell

Uygulamayı PyPi'den şu komutla indirin:
Code:
poetry add bitcoin-message-tool

Terminalden çalıştırmak için aşağıdaki komutu kullanın:

Code:
python3 -m bitcoin_message_tool

Uygulamayı argümanlar olmadan çalıştırdığınızda bir yardım mesajı göreceksiniz.

2) Alternatif olarak, kaynak kodunu doğrudan GitHub'dan şu komutla indirebilirsiniz:

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

veya depoyu çatallandırabilir ve ardından çatallanmış sürümü klonlayabilirsiniz.

Gereksinimleri şu komutla yükleyin:

Code:
pip install -r /path/to/requirements.txt

Forked(çatallanmış) veya klonlanmış depodan bir uygulama çalıştırmak için, basitçe aşağıdakileri kullanabilirsiniz:

Code:
python3 /path/to/bmt.py -h

Bitcoin Mesaj Aracı Nasıl Kullanılır

Aşağıdaki doctest, bu CLI aracıyla mesajların nasıl imzalanacağı ve doğrulanacağı hakkında net bir tablo sunmalıdır:

Temel kullanım:

Code:
python -m bitcoin_message_tool -h

veya

python bmt.py -h
kullanım: python3 bmt.py [-h] {sign,verify} ...

Bitcoin mesaj imzalama/doğrulama aracı

konumsal argümanlar:
{sign,verify}

seçenekler:
-h, --help     bu yardım mesajını göster ve çık


Mesaj imzalama:

Code:
python bmt.py sign -h
kullanım: python3 bmt.py sign [-h] -p -a {p2pkh,p2wpkh-p2sh,p2wpkh} -m [MESAJ ...] [-d] [-v]

seçenekler:
-h, --help            bu yardım mesajını göster ve çık

İmza mesajı:
-p, --privkey         cüzdan içe aktarma biçiminde (WIF) özel anahtar
-a {p2pkh,p2wpkh-p2sh,p2wpkh}, --addr_type {p2pkh,p2wpkh-p2sh,p2wpkh}
bitcoin adresi türü
-m [MESAJ ...], --mesaj [MESAJ ...]
İmzalanacak mesaj
-d, --deterministic   deterministik olarak imzala (RFC6979)
-v, --verbose         güzelleştirilmiş mesajı yazdır

Örnek: Sıkıştırılmış özel anahtar ve p2pkh adresi için kesin olmayan imza

Code:
$python bmt.py sign -p -a p2pkh -m ECDSA şimdiye kadar deneyimlediğim en eğlenceli şey

PrivateKey(WIF):
Lütfen özel anahtarın terminalde görünmeyeceğini unutmayın.

Çıktı:

Code:
Bitcoin adresi: 175A5YsPUdM71mnNCC3i8faxxYJgBonjWL
Mesaj: ECDSA şimdiye kadar deneyimlediğim en eğlenceli şey
İmza: IBuc5GXSJCr6m7KevsBAoCiX8ToOjW2CDZMr6PCEbiHwQJ237LZTj/REbDHI1/yelY6uBWEWXiOWoGnajlgvO/A=

-v/--verbose bayrağıyla aynı çıktı:

Code:
-----BITCOIN İMZALI MESAJIN BAŞLANGICI-----
ECDSA şimdiye kadar deneyimlediğim en eğlenceli şey
-----BITCOIN İMZASI BAŞLANGICI-----
175A5YsPUdM71mnNCC3i8faxxYJgBonjWL

IBuc5GXSJCr6m7KevsBAoCiX8ToOjW2CDZMr6PCEbiHwQJ237LZTj/REbDHI1/yelY6uBWEWXiOWoGnajlgvO/A=
-----BITCOIN İMZASI BİTİŞİ-----

Mesaj doğrulama:

Code:
python bmt.py verify -h
kullanım: python3 bmt.py verify [-h] -a ADRES -m [MESAJ ...] -s İMZA [-v] [-r]

seçenekler:
-h, --help            bu yardım mesajını göster ve çık

Mesajı doğrula:
-a ADRES, --adres ADRES
bitcoin adresini belirt
-m [MESAJ ...], --mesaj [MESAJ ...]
Doğrulanacak mesaj
-s İMZA, --imza İMZA
bitcoin imzası base64 biçimi
-v, --verbose         tam mesajı yazdır
-r, --recpub           genel anahtarı kurtar

Örnek: Ayrıntılı modda mesaj doğrulaması

Code:
python bmt.py verify -a 175A5YsPUdM71mnNCC3i8faxxYJgBonjWL \
> -m ECDSA şimdiye kadar deneyimlediğim en eğlenceli şey \
> -s HyiLDcQQ1p2bKmyqM0e5oIBQtKSZds4kJQ+VbZWpr0kYA6Qkam2MlUeTr+lm1teUGHuLapfa43JjyrRqdSA0pxs= \
> -v

Çıktı:

Code:
Doğru
Mesajın 175A5YsPUdM71mnNCC3i8faxxYJgBonjWL'den olduğu doğrulandı

Daha fazla örnek ve kaynak kodu yandaki linkten bulunabilir: https://github.com/shadowy-pycoder/bitcoin_message_tool

Sparrow Cüzdanı ile Testler

Gerçek cüzdanla oluşturulan bir SegWit imzasını doğrulayalım:



Sonuç:



Bu cüzdanla oluşturulan bir SegWit imzasını doğrulayalım araç:



Sonuç:





Bu çeviri AOBT instiyatifi ile yapılmıştır.



Jump to: