Python: Gerando Chaves Públicas e Privadas em BIP39
O que é o BIP39?
BIP39 (Bitcoin Improvement Proposal 39) é um padrão utilizado no universo das criptomoedas para a geração de chaves determinísticas a partir de uma frase mnemônica — geralmente composta por 12, 18 ou 24 palavras. Essas palavras representam uma semente criptográfica que, ao ser processada, pode gerar múltiplas carteiras de criptomoedas diferentes, como Bitcoin (BTC), Ethereum (ETH), Litecoin (LTC), Dogecoin (DOGE), entre outras.
Por que gerar suas chaves com Python?
Utilizar um script em Python garante maior controle e transparência sobre o processo de geração de chaves, especialmente para desenvolvedores, auditores de segurança, e entusiastas de criptografia.
Com a biblioteca bitcoinlib, é possível trabalhar com padrões HD wallets (Hierarchical Deterministic Wallets) de forma segura e simples.
Exemplo de chaves geradas
PrivateKey: 4db58b87413bebe62ee2ef0ca08621b9c91dd3ce1da40884d26449a15ef29632
ETH: 0x3c9c6c28c121e6125a888d022aa4f5dd1c1dd8ac
LTC: LKjmjvST2h7qPXXVMDq3Rz7Km83YXpfjKQ
BTC: 1WpUi8cx2sn8iqLB5qk9y3ZYugGQpsJSE
TRX: TFVgvzdZQhAAX6Z8emzBwhfVhEC5uZqYSR
DOGE: D5ev1y5GFSn4fj1vufqJhjDAS3QZkYSn7h
Script em Python para gerar chaves BIP39
# Importando a biblioteca necessária
from bitcoinlib.keys import HDKey
# Definindo a frase mnemônica
mnemonic = "sua frase mnemônica aqui"
# Gerando a chave raiz
root_key = HDKey.from_passphrase(mnemonic)
# Derivando chaves filhas para diferentes criptomoedas
eth_key = root_key.child(44, hardened=True).child(60, hardened=True).child(0, hardened=True).child(0).child(0)
ltc_key = root_key.child(44, hardened=True).child(2, hardened=True).child(0, hardened=True).child(0).child(0)
btc_key = root_key.child(44, hardened=True).child(0, hardened=True).child(0, hardened=True).child(0).child(0)
trx_key = root_key.child(44, hardened=True).child(195, hardened=True).child(0, hardened=True).child(0).child(0)
doge_key = root_key.child(44, hardened=True).child(3, hardened=True).child(0, hardened=True).child(0).child(0)
# Exibindo as chaves públicas e privadas
print("ETH - Pública:", eth_key.public())
print("ETH - Privada:", eth_key.private())
print("LTC - Pública:", ltc_key.public())
print("LTC - Privada:", ltc_key.private())
print("BTC - Pública:", btc_key.public())
print("BTC - Privada:", btc_key.private())
print("TRX - Pública:", trx_key.public())
print("TRX - Privada:", trx_key.private())
print("DOGE - Pública:", doge_key.public())
print("DOGE - Privada:", doge_key.private())
Importante: Substitua "sua frase mnemônica aqui" por sua própria frase de 12, 18 ou 24 palavras. Nunca compartilhe sua frase mnemônica ou suas chaves privadas em ambientes públicos!
Dependências
Instale a biblioteca necessária com:
pip install bitcoinlib
Aplicações práticas
Este tipo de geração é útil para:
- Carteiras customizadas para testes de dApps.
- Geração de carteiras offline com segurança.
- Auditorias de derivação de endereços HD.
Ideal para quem deseja estudar como funcionam as carteiras determinísticas baseadas em BIP32/BIP44/BIP39.
Vídeo explicativo
Se você deseja explorar mais sobre o padrão BIP39, acesse o site oficial do projeto no GitHub: https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki
Este conteúdo é voltado apenas para aprendizado e demonstrações educacionais. Não use em ambientes de produção sem validação e segurança apropriadas.

Comentários
Comente só assim vamos crescer juntos!