Ir diretamente para o conteúdo principal

Como gerar um novo endereço Ethereum em Python

Atualizado em
26 de novembro de 2025

4 minutos de leitura

Visão geral

O Python é uma das linguagens de programação mais versáteis que existem, com uma grande variedade de aplicações; podemos criar muitas aplicações com Python, desde o lado do cliente até ao back-end. Neste guia, iremos abordar a criação de um endereço Ethereum em Python utilizando a biblioteca Web3Py.

Pré-requisitos

  • Python instalado no seu sistema (versão 3.6 ou superior) e o Pip3.
  • Um editor de texto.

O que é um endereço Ethereum?

Ao iniciar sessão em qualquer plataforma na Internet, é necessária uma combinação de nome de utilizador e palavra-passe. Pense no endereço Ethereum como um nome de utilizador, tendo a chave privada correspondente como a palavra-passe. A utilização desta combinação de endereço e chave privada permite-lhe interagir com a blockchain Ethereum. Um endereço Ethereum é a sua identidade na blockchain. Tem o seguinte formato: «0xd5e099c71b797516c10ed0f0d895f429c2781142». O endereço Ethereum é público e pode ser partilhado, mas a chave privada deve ser sempre mantida em segredo. Os endereços Ethereum são gerados utilizando uma chave privada. Segue-se o processo de geração de um endereço Ethereum:

  • Gerar uma chave privada aleatória de (64 caracteres hexadecimais / 256 bits / 32 bytes) 
0xf4a2b939592564feb35ab10a8e04f6f2fe0943579fb3c9c33505298978b74893
  •  Uma chave pública é derivada da chave privada (128 caracteres (hexadecimais) / 512 bits / 64 bytes) utilizando o Algoritmo de Assinatura Digital de Curva Elíptica (ECDSA) 
0x04345f1a86ebf24a6dbeff80f6a2a574d46efaa3ad3988de94aa68b695f09db9ddca37439f99548da0a1fe4acf4721a945a599a5d789c18a06b20349e803fdbbe3
  • Em seguida, aplica-se a função hash Keccak-256 à chave pública (128 caracteres / 64 bytes), o que resulta numa cadeia de hash de (64 caracteres / 32 bytes); os últimos 40 caracteres / 20 bytes, quando precedidos por 0x, constituem o endereço Ethereum.
0xd5e099c71b797516c10ed0f0d895f429c2781142

A seguir, apresentamos alguns elementos que têm de ter um endereço Ethereum:

  • Receber/enviar ETH.
  • Assinar/enviar transações.
  • Ligar-se a aplicações.

O que é o Python?

O Python é uma linguagem de programação de uso geral com uma vasta gama de aplicações. Possui estruturas de dados de alto nível. É uma linguagem de tipagem dinâmica. Possui ligação dinâmica e muitas outras funcionalidades, o que a torna uma ferramenta útil para desenvolver aplicações complexas, uma vez que é utilizada para scripts ou «código de ligação» que conecta diferentes componentes. Também permite efetuar chamadas de sistema em quase todos os sistemas operativos. O Python é uma linguagem universal devido à sua capacidade de ser executada em praticamente todas as arquiteturas de sistema e à sua omnipresença. O Python é uma linguagem de programação interpretada, interativa e orientada para objetos.

O que é o Web3Py?

A Web3.py é uma biblioteca Python que ajuda a interagir com a blockchain Ethereum; utilizando a Web3.py, é possível criar clientes de backend para as suas aplicações descentralizadas (dApps), de modo a gerir a interação com a blockchain, ler dados da mesma, registar transações ou executar a lógica dos contratos inteligentes. A API original foi derivada da API JavaScript Web3.js, mas foi aperfeiçoada ao longo do tempo para melhor servir e responder às necessidades e exigências dos programadores Python.

Como estamos a trabalhar com Python, vamos utilizar o Web3.py.

Agora, vamos ver como podemos gerar um novo endereço Ethereum em Python.

Gerar um endereço Ethereum em Python

O nosso primeiro passo aqui seria verificar se o Python 3.6 ou uma versão superior está instalado no seu sistema; pode verificar se o Python está ou não instalado digitando o seguinte no seu terminal/cmd:

$ python --version

Caso ainda não esteja instalado, pode seguir as instruções na página «Downloads» do site oficial do Python.

Vamos utilizar o Web3Py, uma biblioteca Python utilizada para interagir com a Ethereum. Vamos instalar o Web3Py utilizando o PIP; escreva o seguinte no seu terminal/cmd:

$ pip install web3

Nota: As versões do Python e de outras bibliotecas costumam causar problemas de instalação. Por isso, se tiver algum problema, tente configurar um ambiente virtual e resolva o problema de instalação do web3.py.

Se tudo correr bem, o Web3.py será instalado no seu sistema.

Agora, vamos criar um ficheiro Python e chamá-lo de address.py; copie e cole o código seguinte nesse ficheiro:

de eth_account importar Account
import secrets
priv = segredos.token_hex(32)
chave_privada = "0x" + priv
imprimir ("GUARDE, MAS NÃO PARTILHE ISTO:", chave_privada)
conta = Conta.from_key(chave_privada)
imprimir("Endereço:", conta.endereço)

Explicação do código acima

Linha 1: Importação da conta a partir do módulo eth_account do Web3.py

Linha 2: Importação do módulo `secrets` do Python, que nos ajudará a gerar uma cadeia hexadecimal aleatória.

Linha 3: Gerar uma cadeia hexadecimal aleatória de 32 bytes / 64 caracteres e armazená-la na variável «priv»

Linha 4: Adicionar o prefixo 0x à nossa cadeia hexadecimal de 64 caracteres armazenada em priv e guardar a nova cadeia na variável private_key.

Linha 5: Imprimir a nossa chave privada com um aviso.

Linha 6: Criação de uma nova conta utilizando a chave privada e armazenando-a na variável acct.

Linha 7: Imprimir o endereço da conta armazenado na variável acct, acompanhado da string «Endereço:»

Agora, vamos executar o nosso programa em Python.

$ python address.py

Se seguiu as instruções corretamente, o resultado deverá ser semelhante a este. A primeira linha contém a chave privada e a segunda linha contém o endereço Ethereum.

Conclusão

Agora que já tem o seu próprio endereço Ethereum (e a chave privada), pode enviar transações e interagir com contratos inteligentes; consulte a documentação oficial do Web3.py para obter mais informações.

Subscreve a nossa newsletter para receberes mais artigos e guias sobre o Ethereum. Se tiveres algum comentário, não hesites em contactar-nos através do Twitter. Podes sempre conversar connosco no nosso servidor da comunidade Discord, onde encontrarás alguns dos programadores mais fantásticos que alguma vez conhecerás :)

Partilhe este guia