def test_pairs1(self):
     
     wallet_addr = "1EyBEhrriJeghX4iqATQEWDq38Ae8ubBJe"
     wallet_private = "8tnArBrrp4KHVjv8WA6HiX4ev56WDhqGA16XJCHJzhNH"
     wallet_key = utils.base256encode(utils.base58decode(wallet_private)).encode('hex')
     self.assertEqual(keyToAddr(wallet_key), wallet_addr)
     
     bitcoin_qt = "5Jhw8B9J9QLaMmcBRfz7x8KkD9gwbNoyBMfWyANqiDwm3FFwgGC"
     wallet_key = utils.base58CheckDecode(bitcoin_qt).encode('hex')
     self.assertEqual(keyToAddr(wallet_key), wallet_addr)
     wallet_key = "754580de93eea21579441b58e0c9b09f54f6005fc71135f5cfac027394b22caa"
     self.assertEqual(keyToAddr(wallet_key), wallet_addr)
示例#2
0
    def test_pairs1(self):
        #blockchain.info
        wallet_addr = "1EyBEhrriJeghX4iqATQEWDq38Ae8ubBJe"
        wallet_private = "8tnArBrrp4KHVjv8WA6HiX4ev56WDhqGA16XJCHJzhNH"
        wallet_key = utils.base256encode(utils.base58decode(wallet_private)).encode('hex')
        self.assertEqual(keyToAddr(wallet_key), wallet_addr)

        # can import into multibit
        bitcoin_qt = "5Jhw8B9J9QLaMmcBRfz7x8KkD9gwbNoyBMfWyANqiDwm3FFwgGC"
        wallet_key = utils.base58CheckDecode(bitcoin_qt).encode('hex')
        self.assertEqual(keyToAddr(wallet_key), wallet_addr)

        wallet_key = "754580de93eea21579441b58e0c9b09f54f6005fc71135f5cfac027394b22caa"
        self.assertEqual(keyToAddr(wallet_key), wallet_addr)
示例#3
0
def get160BitHashFromPublicAddress(publicAddress):

    # Obtains the Hash of the Public Address
    leadingOnes = utils.countLeadingChars(publicAddress, '1')
    addressWithChecksum = utils.base256encode(utils.base58decode(publicAddress))
    addressWithLeadingZeros = '\0' * leadingOnes + addressWithChecksum[:-CHECKSUM_BYTE_LENGTH]
    publicAddress160BitHash = addressWithLeadingZeros[1:].encode("hex")

    # Parses the Public Address for Checksum
    providedChecksum = addressWithChecksum[-CHECKSUM_BYTE_LENGTH:].encode("hex")

    # Calculates the Checksum based on Parsed Address
    oneSHA256MainAddress = SHA256.new(addressWithLeadingZeros)
    twoSHA256MainAddress = SHA256.new(oneSHA256MainAddress.digest()).hexdigest()
    calculatedChecksum = twoSHA256MainAddress[0:CHECKSUM_LENGTH]

    # Checks to make sure the checksum provided matches the calculated checksum
    #    of the 160bit of the public address
    assert providedChecksum == calculatedChecksum

    return publicAddress160BitHash
示例#4
0
#net = 'test'
#compressed='yes'
#wif = "cR7UGQyRRJxnXUm3wLrUNWpi4mrRLB6vUQ797KYQrx5UUvPp473y"

#Antonopolous
#compressed='yes'
#wif = "KyBsPXxTuVD82av65KZkrGrWi5qLMah5SdNq6uftawDbgKa2wv6S"
#net = 'main'

#compressed='no'
#wif = "5JG9hT3beGTJuUAmCQEmNaxAuMacCTfXuw1R3FCXig23RQHMr4K"
print('1 - Take a Wallet Import Format string')
print('   ', wif)
print('2 - Convert it to a byte string using Base58Check encoding')
leadingOnes = utils.countLeadingChars(wif, '1')
s = utils.base256encode(utils.base58decode(wif))
#print(codecs.decode( s[:-4], 'hex' ).decode())

result = '\0' * leadingOnes + binascii.hexlify(s[:-4]).decode()
print('   ', result.upper())
print('3 - Drop the last 4 checksum bytes from the byte string')
print('   ', result[:-4].upper())
chk = s[-4:]
checksum = hashlib.sha256(hashlib.sha256(
    result.encode('utf-8')).digest()).hexdigest()[0:8]
print('4 - Dropping first byte. This is the private key')
private_key = result[1:-4].upper()
print('   ', result[1:-4].upper())
private_key = codecs.encode(keyUtils.wifToPrivateKey(wif), 'hex').decode()
print('   ', codecs.encode(keyUtils.wifToPrivateKey(wif), 'hex').decode())
print('   ', codecs.encode(keyUtils.wifToPrivateKey(wif), 'hex'))
示例#5
0
#net = 'test'
#compressed='yes'
#wif = "cR7UGQyRRJxnXUm3wLrUNWpi4mrRLB6vUQ797KYQrx5UUvPp473y"

#Antonopolous
#compressed='yes'
#wif = "KyBsPXxTuVD82av65KZkrGrWi5qLMah5SdNq6uftawDbgKa2wv6S"
#net = 'main'

#compressed='no'
#wif = "5JG9hT3beGTJuUAmCQEmNaxAuMacCTfXuw1R3FCXig23RQHMr4K"
print('1 - Take a Wallet Import Format string')
print('   ',wif)
print('2 - Convert it to a byte string using Base58Check encoding')
leadingOnes = utils.countLeadingChars(wif, '1')
s = utils.base256encode(utils.base58decode(wif))
#print(codecs.decode( s[:-4], 'hex' ).decode())

result = '\0' * leadingOnes + binascii.hexlify( s[:-4] ).decode()
print('   ',result.upper())
print('3 - Drop the last 4 checksum bytes from the byte string')
print('   ',result[:-4].upper())
chk = s[-4:]
checksum = hashlib.sha256(hashlib.sha256(result.encode('utf-8')).digest()).hexdigest()[0:8]
print('4 - Dropping first byte. This is the private key')
private_key = result[1:-4].upper()
print('   ',result[1:-4].upper())
private_key = codecs.encode(keyUtils.wifToPrivateKey(wif),'hex').decode()
print('   ',codecs.encode(keyUtils.wifToPrivateKey(wif),'hex').decode())
print('   ',codecs.encode(keyUtils.wifToPrivateKey(wif),'hex'))