Из примера видно, что есть функция, которая занимается формированием адреса. Code: def addy(pk): pko=ecdsa.SigningKey.from_secret_exponent(pk,secp256k1) pubkey=binascii.hexlify(pko.get_verifying_key().to_string()) pubkey2=hashlib.sha256(binascii.unhexlify('04'+pubkey)).hexdigest() pubkey3=hashlib.new('ripemd160',binascii.unhexlify(pubkey2)).hexdigest() pubkey4=hashlib.sha256(binascii.unhexlify('00'+pubkey3)).hexdigest() pubkey5=hashlib.sha256(binascii.unhexlify(pubkey4)).hexdigest() pubkey6=pubkey3+pubkey5[:8] pubnum=int(pubkey6,16) pubnumlist=[] while pubnum!=0: pubnumlist.append(pubnum%58); pubnum/=58 address='' for l in ['123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'[x] for x in pubnumlist]: address=l+address return '1'+address Аргумент функции - приватный ключ и функция возвращает адрес. Стоит добавить эту функцию в твой код и вызвать её выполнение, а в качестве аргумента передать приватный ключ, который сгенерирован. Вот переменная у тебя, которая содержит приватный ключ Code: privateKey = GetPrivateKey(cand) Переменная, которая будет содержать адрес, будет выглядеть так: Code: address = addy(privatekey) Выполнение запишет в переменную address адрес, если всё сложится удачно. Ну и в примере, собственно, видно как это всё работает. Code: bcaddy = addy(privatekey) print "bitcoin address: " + str(bcaddy)
Не могу ничем помочь. Даже задание не читал. Просто от душевного порыва вот рекомендуецо мульт для поднятия боевого духа.