def test_from_passphrase(): passphrase = "meheret tesfaye batu bayou" # Initialize bitcoin wallet bitcoin_from_passphrase = Wallet(network="testnet") \ .from_passphrase(passphrase) bitcoin_from_private_key = Wallet(network="testnet") \ .from_private_key("92cbbc5990cb5090326a76feeb321cad01048635afe5756523bbf9f7a75bf38b") private_key = "92cbbc5990cb5090326a76feeb321cad01048635afe5756523bbf9f7a75bf38b" assert bitcoin_from_private_key.private_key() == private_key == bitcoin_from_passphrase.private_key() public_key = "03c56a6005d4a8892d28cc3f7265e5685b548627d59108973e474c4e26f69a4c84" assert bitcoin_from_private_key.public_key() == public_key address = "mphBPZf15cRFcL5tUq6mCbE84XobZ1vg7Q" assert bitcoin_from_private_key.address() == address # Initialize bitcoin wallet bitcoin_from_passphrase = Wallet(network="testnet")\ .from_passphrase(passphrase, False) private_key = "92cbbc5990cb5090326a76feeb321cad01048635afe5756523bbf9f7a75bf38b" assert bitcoin_from_passphrase.private_key() == private_key public_key = "04c56a6005d4a8892d28cc3f7265e5685b548627d59108973e474c4e26f69a4c84fee63d89a5979801c9659" \ "94963c77bfb470dff5afd351a442ebf329f3b2c2835" assert bitcoin_from_passphrase.public_key() == public_key compressed = "03c56a6005d4a8892d28cc3f7265e5685b548627d59108973e474c4e26f69a4c84" assert bitcoin_from_passphrase.compressed() == compressed uncompressed = "04c56a6005d4a8892d28cc3f7265e5685b548627d59108973e474c4e26f69a4c84fee63d89a5979801c96" \ "5994963c77bfb470dff5afd351a442ebf329f3b2c2835" assert bitcoin_from_passphrase.uncompressed() == uncompressed assert bitcoin_from_passphrase.uncompressed() == bitcoin_from_passphrase.public_key() address = "mqLyrNDjpENRMZAoDpspH7kR9RtgvhWzYE" assert bitcoin_from_passphrase.address() == address _hash = "6bce65e58a50b97989930e9a4ff1ac1a77515ef1" assert bitcoin_from_passphrase.hash() == _hash p2pkh = "76a9146bce65e58a50b97989930e9a4ff1ac1a77515ef188ac" assert bitcoin_from_passphrase.p2pkh() == p2pkh p2sh = "a914347283eee92ad685909044619adaa70370b2538787" assert bitcoin_from_passphrase.p2sh() == p2sh
def test_from_address(): # testing from address address = "mqLyrNDjpENRMZAoDpspH7kR9RtgvhWzYE" # Initialize bitcoin wallet bitcoin_from_address = Wallet(network="testnet").from_address(address) assert bitcoin_from_address.address() == address _hash = "6bce65e58a50b97989930e9a4ff1ac1a77515ef1" assert bitcoin_from_address.hash() == _hash p2pkh = "76a9146bce65e58a50b97989930e9a4ff1ac1a77515ef188ac" assert bitcoin_from_address.p2pkh() == p2pkh p2sh = "a914347283eee92ad685909044619adaa70370b2538787" assert bitcoin_from_address.p2sh() == p2sh
def test_bitcoin_wallet_tools(): wallet = Wallet(network="testnet") private_key = "92cbbc5990cb5090326a76feeb321cad01048635afe5756523bbf9f7a75bf38b" public_key = wallet.public_key(private_key=private_key) assert public_key == "03c56a6005d4a8892d28cc3f7265e5685b548627d59108973e474c4e26f69a4c84" public_key = "04c56a6005d4a8892d28cc3f7265e5685b548627d59108973e474c4e26f69a4c84fee63d89a5979801c96" \ "5994963c77bfb470dff5afd351a442ebf329f3b2c2835" compressed = wallet.compressed(public_key=public_key) assert compressed == "03c56a6005d4a8892d28cc3f7265e5685b548627d59108973e474c4e26f69a4c84" uncompressed = wallet.uncompressed(public_key=public_key) assert uncompressed == public_key address = wallet.address(public_key=uncompressed) assert address == "mqLyrNDjpENRMZAoDpspH7kR9RtgvhWzYE" _hash = wallet.hash(public_key=uncompressed) assert _hash == "6bce65e58a50b97989930e9a4ff1ac1a77515ef1" p2pkh = wallet.p2pkh(address=address) assert p2pkh == "76a9146bce65e58a50b97989930e9a4ff1ac1a77515ef188ac" p2sh = wallet.p2sh(address=address) assert p2sh == "a914347283eee92ad685909044619adaa70370b2538787" balance = wallet.balance(address=address, network="testnet") assert isinstance(balance, int) unspent = wallet.unspent(address=address, network="testnet", limit=1) assert isinstance(unspent, list)
# Getting sender wallet information's sender_private_key = sender_wallet.private_key() print("Sender Private Key:", sender_private_key) sender_public_key = sender_wallet.public_key() print("Sender Public Key:", sender_public_key) sender_compressed = sender_wallet.compressed() print("Sender Compressed:", sender_compressed) sender_uncompressed = sender_wallet.uncompressed() print("Sender Uncompressed:", sender_uncompressed) sender_address = sender_wallet.address() print("Sender Address:", sender_address) sender_hash = sender_wallet.hash() print("Sender Hash:", sender_hash) sender_p2pkh = sender_wallet.p2pkh() print("Sender P2PKH:", sender_p2pkh) sender_p2sh = sender_wallet.p2sh() print("Sender P2SH:", sender_p2sh) # sender_balance = sender_wallet.balance() # print("Sender Balance:", sender_balance) print("=" * 10, "Hash Time Lock Contract (HTLC) from Bytecode") # Initializing Hash Time Lock Contract (HTLC) htlc = HTLC(network=NETWORK) # Initializing HTLC from bytecode htlc.from_bytecode(bytecode=HTLC_BYTECODE) htlc_bytecode = htlc.bytecode() print("HTLC Bytecode:", htlc_bytecode) htlc_opcode = htlc.opcode() print("HTLC OP_Code:", htlc_opcode)
# Getting recipient wallet information's recipient_private_key = recipient_wallet.private_key() print("Recipient Private Key:", recipient_private_key) recipient_public_key = recipient_wallet.public_key() print("Recipient Public Key:", recipient_public_key) recipient_compressed = recipient_wallet.compressed() print("Recipient Compressed:", recipient_compressed) recipient_uncompressed = recipient_wallet.uncompressed() print("Recipient Uncompressed:", recipient_uncompressed) recipient_address = recipient_wallet.address() print("Recipient Address:", recipient_address) recipient_hash = recipient_wallet.hash() print("Recipient Hash:", recipient_hash) recipient_p2pkh = recipient_wallet.p2pkh() print("Recipient P2PKH:", recipient_p2pkh) recipient_p2sh = recipient_wallet.p2sh() print("Recipient P2SH:", recipient_p2sh) # recipient_balance = recipient_wallet.balance() # print("Recipient Balance:", recipient_balance) print("=" * 10, "Sender Bitcoin Account") # Initializing sender Bitcoin wallet sender_wallet = Wallet(network=NETWORK) # Initializing Bitcoin wallet from address sender_wallet.from_address(address=SENDER_ADDRESS) # Getting sender wallet information's sender_address = sender_wallet.address() print("Sender Address:", sender_address) sender_hash = sender_wallet.hash() print("Sender Hash:", sender_hash)