from eth_keys import keys
from eth_utils import to_checksum_address
import hashlib, base58, ecdsa
priv_hex = "314093d13399bf9caf844723c6a3dceefaa5f7218283367a9b6f390ea506f761"
priv_bytes = bytes.fromhex(priv_hex)
# Ethereum Address
eth_priv = keys.PrivateKey(priv_bytes)
eth_addr = to_checksum_address(eth_priv.public_key.to_address())
print("Ethereum Address:", eth_addr)
# Bitcoin Address (P2PKH)
sk = ecdsa.SigningKey.from_string(priv_bytes, curve=ecdsa.SECP256k1)
vk = sk.get_verifying_key()
pub_key = b'\x04' + vk.to_string()
ripemd = hashlib.new('ripemd160', hashlib.sha256(pub_key).digest()).digest()
btc_raw = b'\x00' + ripemd
checksum = hashlib.sha256(hashlib.sha256(btc_raw).digest()).digest()[:4]
btc_addr = base58.b58encode(btc_raw + checksum).decode()
print("Bitcoin Address:", btc_addr)
from eth_utils import to_checksum_address
import hashlib, base58, ecdsa
priv_hex = "314093d13399bf9caf844723c6a3dceefaa5f7218283367a9b6f390ea506f761"
priv_bytes = bytes.fromhex(priv_hex)
# Ethereum Address
eth_priv = keys.PrivateKey(priv_bytes)
eth_addr = to_checksum_address(eth_priv.public_key.to_address())
print("Ethereum Address:", eth_addr)
# Bitcoin Address (P2PKH)
sk = ecdsa.SigningKey.from_string(priv_bytes, curve=ecdsa.SECP256k1)
vk = sk.get_verifying_key()
pub_key = b'\x04' + vk.to_string()
ripemd = hashlib.new('ripemd160', hashlib.sha256(pub_key).digest()).digest()
btc_raw = b'\x00' + ripemd
checksum = hashlib.sha256(hashlib.sha256(btc_raw).digest()).digest()[:4]
btc_addr = base58.b58encode(btc_raw + checksum).decode()
print("Bitcoin Address:", btc_addr)

