ZeroNet/src/Crypt/CryptBitcoin.py

28 lines
974 B
Python

from src.lib.BitcoinECC import BitcoinECC
def newPrivatekey(uncompressed=True): # Return new private key
from src.lib.BitcoinECC import newBitcoinECC # Use new lib to generate WIF compatible addresses, but keep using the old yet for backward compatiblility issues
bitcoin = newBitcoinECC.Bitcoin()
d = bitcoin.GenerateD()
bitcoin.AddressFromD(d, uncompressed)
return bitcoin.PrivFromD(d, uncompressed)
def privatekeyToAddress(privatekey): # Return address from private key
bitcoin = BitcoinECC.Bitcoin()
bitcoin.BitcoinAddressFromPrivate(privatekey)
return bitcoin.BitcoinAddresFromPublicKey()
def sign(data, privatekey): # Return sign to data using private key
bitcoin = BitcoinECC.Bitcoin()
bitcoin.BitcoinAddressFromPrivate(privatekey)
sign = bitcoin.SignECDSA(data)
return sign
def verify(data, address, sign): # Verify data using address and sign
bitcoin = BitcoinECC.Bitcoin()
return bitcoin.VerifyMessageFromBitcoinAddress(address, data, sign)