الدوجكوين تحويل مفتاح الويف الى عنوان باستخدام البايتون
Convert Wif Key to address DogeCoin using Python
import base58
import ecdsa
import hashlib
from binascii import unhexlify
import sys
def is_not_blank(s):
return bool(s and not s.isspace())
def wifto_priv(wwif):
bn = base58.b58decode_check(wwif)
return bn.hex()[2:66]
def get_signing_key(raw_priv):
return ecdsa.SigningKey.from_string(raw_priv, curve=ecdsa.SECP256k1)
def sha256(x):
return hashlib.sha256(x).digest()
def hash_160(public_key):
md = hashlib.new('ripemd160')
md.update(sha256(public_key))
return md.digest()
def privtopub(bpriv,vcom='compressed'):
sign = get_signing_key(bpriv)
return sign.get_verifying_key().to_string(vcom)
def pubtoaddress(pubkey):
bthash = b'\x1e'+ hash_160(pubkey)
return base58.b58encode_check(bthash)
wif = input("Past WIF key(Dogecoin) : ").strip()
if is_not_blank(wif) == False:
print("Empty String !!")
sys.exit(0)
if len(wif) < 51 or len(wif) > 52 :
print('The WIF is not correct (Wrong Format)')
sys.exit(0)
if wif[0] != 'Q' and wif[0] != '6' :
print('The WIF is not correct (2Wrong Format)')
sys.exit(0)
priv = unhexlify(wifto_priv(wif))
if wif[0] == '6':
pubuncomp = privtopub(priv,'uncompressed')
addr1 = pubtoaddress(pubuncomp)
print ("Address : " ,addr1.decode())
sys.exit(0)
pubcomp = privtopub(priv)
addr = pubtoaddress(pubcomp)
print ("Address : ",addr.decode())
ليست هناك تعليقات:
إرسال تعليق