Formulário de contato

Nome

E-mail *

Mensagem *

Imagem

Geração de Chaves Privadas e Endereços Ethereum com Python e BIP44

Geração de Chaves Privadas e Endereços Ethereum com Python e BIP44

Publicado por em


@CanalQb no YouTube


@CanalQb

Geração de Chaves Privadas e Endereços Ethereum com Python e BIP44


Sempre crie uma frase de segurança única para jogos, testnets ou airdrops e evite usar sua carteira principal.



Geração de Chaves Privadas e Endereços Ethereum com Python e BIP44

Este artigo apresenta um exemplo prático de como gerar chaves privadas e endereços Ethereum a partir de uma frase mnemônica (BIP39) utilizando Python. O processo segue o padrão BIP44 para derivação hierárquica determinística (HD wallets), garantindo compatibilidade e segurança no gerenciamento de carteiras criptográficas.

Bibliotecas utilizadas

O código faz uso de diversas bibliotecas importantes para manipulação criptográfica e interações com blockchain, entre elas:

  • bip_utils: para gerar a seed a partir da frase mnemônica e derivar as chaves seguindo o padrão BIP44.
  • ecdsa e sha3: para criar a chave pública e gerar o endereço Ethereum com hashing Keccak-256.
  • coincurve e tronpy: pacotes opcionais para operações com outras blockchains, instalados automaticamente caso não estejam disponíveis.

Funcionamento do script

O processo pode ser descrito nas seguintes etapas:

  1. Definição da frase mnemônica (frasecompleta), que deve ser válida segundo o padrão BIP39.
  2. Geração da seed criptográfica a partir da frase com Bip39SeedGenerator.
  3. Inicialização do contexto BIP44 para Ethereum com Bip44.FromSeed(seed_bytes, Bip44Coins.ETHEREUM).
  4. Iteração para gerar as primeiras chaves privadas e endereços (controle por ADDR_NUM).
  5. Derivação da chave privada e conversão para formato hexadecimal.
  6. Geração da chave pública associada com ecdsa e criação do endereço Ethereum aplicando o hash Keccak-256.
  7. Impressão das chaves privadas e dos endereços Ethereum resultantes.

Exemplo de saída

Para a frase mnemônica fornecida, o script gera a chave privada e o endereço Ethereum correspondente:

Chave Privada: 1a2b3c4d... (hexadecimal)
Endereço ETH: 0xabc1234def5678...

Importância e uso prático

Derivar chaves e endereços de forma programática facilita a criação e o gerenciamento de carteiras HD para projetos de blockchain, exchanges, dApps e outras soluções financeiras descentralizadas.

Ao trabalhar com chaves privadas, é imprescindível garantir segurança máxima e evitar exposição das mesmas, pois quem detém a chave privada tem controle total dos fundos associados.

Instalação das dependências

Para rodar o script, instale as bibliotecas necessárias com o seguinte comando:

pip install bip-utils ecdsa sha3 coincurve tronpy bit

Link para as bibliotecas oficiais

Consideração final sobre segurança

Este conteúdo é informativo e demonstra conceitos técnicos. Ao lidar com investimentos em criptomoedas, recomenda-se fazer uma autoanálise detalhada e evitar investir valores que não compreende completamente, para proteger seu patrimônio.

Código corrigido e formatado

import os
import sys
import binascii
import hashlib
from bip_utils import Bip39SeedGenerator, Bip44, Bip44Changes, Bip44Coins
from ecdsa import SigningKey, SECP256k1
from sha3 import keccak_256

ADDR_NUM = 1  # Número de chaves privadas a serem geradas (de 1 a 5 recomendado)

frasecompleta = 'repair either cricket vocal  vast wink engage puzzle bike wall ...'

seed_bytes = Bip39SeedGenerator(frasecompleta).Generate()
bip44_mst_ctx = Bip44.FromSeed(seed_bytes, Bip44Coins.ETHEREUM)
bip44_coin_ctx = bip44_mst_ctx.Purpose().Coin()

for i in range(ADDR_NUM):
    bip44_addr_ctx = bip44_coin_ctx.Account(i).Change(Bip44Changes.CHAIN_EXT).AddressIndex(0)
    priv_key = bip44_addr_ctx.PrivateKey().Raw().ToHex()
    print(f'Chave Privada: {priv_key}')
    
    public_key = SigningKey.from_string(binascii.unhexlify(priv_key), curve=SECP256k1).verifying_key.to_string()
    address_ETH = keccak_256(public_key).digest()[-20:]
    ETH = "0x" + address_ETH.hex()
    print(f'Endereço ETH: {ETH}')

Marcadores: Airdrop Blogger Cripto IA Jogos Python Script Sistemas Tutorial

© junho 30, 2025 CanalQb — Python, Scripts, Automação, Airdrops e Criptomoedas | Web3 e Tech na Prática

Comentários