Formulário de contato

Nome

E-mail *

Mensagem *

Este blog é um complemento do nosso canal no YouTube. Clique em @CanalQb para seguir e acompanhar nossos vídeos!

Imagem

Consulta de saldo Ethereum via BIP44 e JSON-RPC usando Python

Consulta de saldo Ethereum via BIP44 e JSON-RPC usando Python

Publicado por em


@CanalQb no YouTube


@CanalQb

Consulta de saldo Ethereum via BIP44 e JSON-RPC usando Python


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



Consulta de saldo Ethereum via BIP44 e JSON-RPC usando Python

Este tutorial apresenta um exemplo completo de como gerar uma chave privada e um endereço Ethereum a partir de uma frase mnemônica utilizando o padrão BIP44. Também mostramos como consultar o saldo da conta resultante usando uma chamada JSON-RPC a um endpoint RPC compatível com Ethereum.

O que é BIP44 e por que é importante?

O BIP44 é um padrão que permite a criação de carteiras HD (Hierarchical Deterministic), ou seja, que derivam múltiplas chaves e endereços a partir de uma única seed (frase mnemônica). Esse padrão é amplamente utilizado em carteiras como Metamask, Trust Wallet e Ledger.

Pré-requisitos

Para executar o código, é necessário instalar as bibliotecas abaixo:

pip install bip-utils ecdsa sha3 requests bit

Funcionamento do script

  1. Uma frase mnemônica é utilizada para gerar a seed criptográfica.
  2. O contexto BIP44 para Ethereum é criado com Bip44.FromSeed.
  3. Gera-se a chave privada e o endereço Ethereum correspondente.
  4. O endereço é consultado em um nó remoto compatível com JSON-RPC usando o método eth_getProof.
  5. O saldo retornado é convertido de Wei para Ether e exibido no console.

Código de exemplo

from bip_utils import Bip39SeedGenerator, Bip44, Bip44Changes, Bip44Coins
from ecdsa import SigningKey, SECP256k1
from sha3 import keccak_256
import binascii
import requests

# Endpoint JSON-RPC para consulta
url = "https://nd-422-757-666.p2pify.com/0a9d79d93fb2f4a4b1e04695da2b77a7/"

# Frase mnemônica para derivação
frasecompleta = 'either cricket vocal vast wink engage puzzle bike wall joke august size improve note ...'

# Geração da seed e derivação da chave
seed_bytes = Bip39SeedGenerator(frasecompleta).Generate()
bip44_mst_ctx = Bip44.FromSeed(seed_bytes, Bip44Coins.ETHEREUM)
bip44_coin_ctx = bip44_mst_ctx.Purpose().Coin()

# Deriva a primeira chave privada e endereço
bip44_addr_ctx = bip44_coin_ctx.Account(1).Change(Bip44Changes.CHAIN_EXT).AddressIndex(0)
priv_key = bip44_addr_ctx.PrivateKey().Raw().ToHex()

# Geração do endereço Ethereum
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()

# Consulta JSON-RPC
payload = {
    "method": "eth_getProof",
    "params": [
        "0x4e501d5b08bcfd1758d7a6db7c392c1a78930247",
        ["0xf6e506a9cbe7546a796b18c40609a170ea8073047129a3cae1c38e6d7559b7"],
        "latest"
    ],
    "id": 1,
    "jsonrpc": "2.0"
}

headers = {
    "accept": "application/json",
    "content-type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)
data = response.json()

# Conversão de saldo
balance = int(data['result']['balance'], 16)
balance_in_ether = balance / 10**18

# Exibição
print(f'Chave Privada: {priv_key}')
print(f'Endereço ETH: {ETH} - Saldo: {balance_in_ether} ETH')

Resultados esperados

Com base na frase mnemônica fornecida, o script imprimirá no console a chave privada, o endereço Ethereum e o saldo em Ether (ETH), extraído diretamente do nó JSON-RPC.

Considerações de segurança

Importante: Nunca reutilize frases mnemônicas conhecidas ou exibidas publicamente. Este tutorial tem fins educacionais apenas. Em ambientes de produção, use fontes seguras e nunca compartilhe sua chave privada com ninguém.

Links úteis e documentação

Aviso sobre investimentos

Este conteúdo não constitui recomendação financeira. Toda decisão de uso de ferramentas blockchain, investimentos ou carteiras deve ser baseada em análise pessoal e conhecimento técnico. Não invista recursos em tecnologias ou plataformas que você não compreende totalmente.

Marcadores: Python Tokens Depins Blockchain e TestNet

© junho 30, 2025 CanalQB – Tutoriais de YouTube, Python, Airdrops e Criptomoedas

Comentários