from zaru_core import PaymentEngine, version, generate_keypair
import json
print("=" * 60)
print(" ZARU-CORE PAYMENT ENGINE DEMO")
print("=" * 60)
print("\n Initializing...")
engine = PaymentEngine()
print(f" Version: {version()}")
print("\n Generating sender keypair...")
sender_pk = generate_keypair()
print(f" Sender public key: {sender_pk[:20]}...")
print("\n Creating wallets...")
sender_wallet = engine.create_wallet("crypto", sender_pk)
receiver_wallet = engine.create_wallet("crypto", "0xRecipientAddress123")
print(f" Sender: {sender_wallet}")
print(f" Receiver: {receiver_wallet}")
print("\n Creating payment amount...")
amount = engine.create_amount(5000)
print(f" Amount: {amount}")
print("\ Creating transaction...")
tx = engine.create_transaction(
id ="demo_txn_001",
from=sender_wallet,
to=receiver_wallet,
amount=amount,
nonce=1
)
print(f" Transaction ID: {tx.id}")
print(f" From: {tx.from_wallet}")
print(f" To: {tx.to_wallet}")
print(f" Amount: {tx.amount}")
print("\n Verify transaction...")
is_valid = engine.verify_transaction(tx)
print(f" Signature valid: {is_valid}")
if is_valid:
print(" Transaction is VALID and cryptographically verified")
else:
print(" Transaction is INVALID")
print("\n Transaction JSON:")
json_data = json.loads(tx.to_json())
print(json.dumps(json_data, indent=2))
print("\n" + "=" * 60)
print(" Demo completed successfully!")
print("=" * 60)