def test_wif_encoding(self): active_chain = chainparams.get_active_chain() wif = bitcoin.SecretToASecret(self.privkey, compressed=True, addrtype = active_chain.wif_version) self.assertEqual('L3PoHZXjsvP91C8WuyiwzYKgjzthZD2Q39Wzrwfsndov6Cwcu8zX', wif) addr = bitcoin.address_from_private_key(wif, addrtype = active_chain.p2pkh_version, wif_version = active_chain.wif_version) self.assertEqual('1599aBMAHbgEkf4dzvd9jxBFgVyufZVVc1', addr) chainparams.set_active_chain('MZC') active_chain = chainparams.get_active_chain() wif = bitcoin.SecretToASecret(self.privkey, compressed=True, addrtype = active_chain.wif_version) self.assertEqual('aF4LB486ggLLYsQG1FcgRFQSdiBKhP4BfZKWaYvxvaAF7z6MGkAG', wif) addr = bitcoin.address_from_private_key(wif, addrtype = active_chain.p2pkh_version, wif_version = active_chain.wif_version) self.assertEqual('MC3JocFZncr3eL2yDuH5zDnb9is5GUzUJv', addr)
def test_address_from_private_key(self): result = address_from_private_key(self.private_key) self.assertEqual(self.main_address, result)
def test_address_from_private_key(self): for priv_details in self.priv_pub_addr: addr2 = address_from_private_key(priv_details['priv']) self.assertEqual(priv_details['address'], addr2)
from lib import transaction, bitcoin, util from lib.util import bfh, bh2u from lib.transaction import Transaction kmd_unsigned_tx_serialized = 'put unsigned kmd raw tx here' wif = 'put your wif key here' txin_type, privkey, compressed = bitcoin.deserialize_privkey(wif) pubkey = bitcoin.public_key_from_private_key(privkey, compressed) jsontx = transaction.deserialize(kmd_unsigned_tx_serialized) inputs = jsontx.get('inputs') outputs = jsontx.get('outputs') locktime = jsontx.get('lockTime', 0) for txin in inputs: txin['type'] = txin_type txin['x_pubkeys'] = [pubkey] txin['pubkeys'] = [pubkey] txin['signatures'] = [None] txin['num_sig'] = 1 txin['address'] = bitcoin.address_from_private_key(wif) txin['value'] = 100000000 # required for preimage calc tx = Transaction.from_io(inputs, outputs, locktime=locktime) tx.sign({pubkey: (privkey, compressed)}) print(tx.serialize())