Ir diretamente para o conteúdo principal

Como gerar um novo endereço Ethereum em Ruby

Atualizado em
26 de novembro de 2025

4 minutos de leitura

Visão geral

Devido à sua ampla utilização em aplicações web e à sua sintaxe simples, o Ruby é utilizado por um grande número de pessoas. Este guia irá abordar a criação de um endereço Ethereum em Ruby utilizando a gem/pacote ruby-eth.

Pré-requisitos

  • Ruby instalado no seu sistema (Ruby 2.x +)
  • Gestor de ambientes Ruby (RBEnv)
  • Um editor de texto

O que é um endereço Ethereum?

Ao iniciar sessão em qualquer plataforma na Internet, é necessário autenticar-se utilizando uma combinação de credenciais. Considere um endereço Ethereum como o seu nome de utilizador e a chave privada correspondente como a palavra-passe. Embora o seu endereço Ethereum seja público e possa ser partilhado, a chave privada deve ser sempre mantida em segredo. A utilização desta combinação permite-lhe interagir com a blockchain Ethereum. Um endereço Ethereum é a sua identidade na blockchain e tem o seguinte formato: «0x6E0d01A76C3Cf4288372a29124A26D4353EE51BE». É necessário ter um endereço Ethereum válido para:

  • Receber/enviar moeda Ethereum
  • Assinatura/Envio de transações
  • Ligar-se a aplicações descentralizadas

Como é gerado um endereço Ethereum:

  • Primeiro, é gerada uma chave privada aleatória com 64 caracteres (hexadecimais) (256 bits / 32 bytes).
    Por exemplo:
0xf4a2b939592564feb35ab10a8e04f6f2fe0943579fb3c9c33505298978b74893
  • Em seguida, é derivada uma chave pública de 128 (hex) caracteres (64 bytes) a partir da chave privada gerada, utilizando o Algoritmo de Assinatura Digital de Curva Elíptica (ECDSA).
    Por exemplo:
0x04345f1a86ebf24a6dbeff80f6a2a574d46efaa3ad3988de94aa68b695f09db9ddca37439f99548da0a1fe4acf4721a945a599a5d789c18a06b20349e803fdbbe
  • A função hash Keccak-256 é então aplicada à chave pública (128 caracteres / 64 bytes) para obter uma cadeia hash de 64 caracteres (32 bytes). Os últimos 40 caracteres / 20 bytes desta cadeia, precedidos por 0x, constituem o endereço final da Ethereum.
    Por exemplo:
0xd5e099c71b797516c10ed0f0d895f429c2781142

Nota: «0x» na codificação indica que o número/cadeia de caracteres está escrito em hexadecimal.

O que é o Ruby?

O Ruby é uma linguagem interpretada de alto nível e de código aberto. O Ruby foi criado a partir de uma mistura de Perl, Smalltalk, Eiffel, Ada e Lisp, as linguagens preferidas de Yukihiro «Matz» Matsumoto. O Ruby é inteiramente orientado para objetos; mesmo os tipos de dados mais básicos, como os inteiros, possuem métodos e variáveis de instância. Isto permite o encadeamento de métodos, em que várias linhas de código podem ser combinadas numa única. O Ruby on Rails, um framework em Ruby, ajudou a linguagem a ganhar popularidade na programação web, sendo que o principal atrativo é o facto de os programadores não terem de despender muito tempo a criar ficheiros.

Para atingir o nosso objetivo de criar um endereço Ethereum, vamos utilizar uma gem do Ruby chamada ruby-eth.

O que é o ruby-eth?

A Ruby-eth é uma biblioteca que ajuda a assinar transações e a gerar chaves; a Ruby-eth permite-nos criar e transmitir transações Ethereum utilizando qualquer nó. A gem permite separar as chaves dos nós. Assine transações e gere as chaves em qualquer lugar onde possa executar Ruby; transmita transações através de qualquer ponto de acesso de nó que desejar.

Instalação de dependências

Antes de instalar as gems, vamos certificar-nos de que o Ruby está instalado. Abra um terminal e execute:

$ ruby -v

Para Linux/UNIX: pode utilizar o sistema de gestão de pacotes da sua distribuição, seguindo o guia disponível aqui, ou utilizar ferramentas de terceiros, como o rbenv ou o RVM.

No macOS: pode utilizar ferramentas de terceiros, como o rbenv ou o RVM.

Para o Windows: pode utilizar o RubyInstaller.

Vamos utilizar o rbenv para gerir a versão do Ruby do nosso projeto. Primeiro, para verificar se o rbenv está instalado ou não, escreva:

$ rbenv -v

Deve apresentar a versão atual do rbenv instalada no seu sistema; caso contrário, descarregue-o utilizando as informações aqui disponibilizadas. Em seguida, aceda ao seu terminal e escreva o seguinte para ativar uma versão específica do Ruby nesse diretório.

$ rbenv install 2.6.5
$ rbenv local 2.6.5

Depois de nos certificarmos de que o Ruby está instalado e que a versão está correta (2.6.5, neste caso), vamos avançar e instalar as gems necessárias. Pode instalá-las a partir da linha de comandos utilizando o RubyGems, o gestor de pacotes do Ruby:

$ gem install eth

Se estiver a utilizar o macOS, poderá deparar-se com um problema relacionado com permissões ao instalar o gem, uma vez que a versão do Ruby que vem com o macOS destina-se, normalmente, ao uso interno da Apple; sugerimos que utilize o rbenv e o RVM (Ruby Version Manager) para gerir uma versão separada do Ruby, que será instalada numa «sandbox» no seu diretório pessoal, na qual poderá efetuar alterações sem se preocupar em afetar o Ruby do sistema. 

Gerar um endereço Ethereum.

Aceda ao seu editor de texto, crie um novo ficheiro Ruby chamado address.rb e copie e cole o código seguinte nesse ficheiro.

require "eth"
key = Eth::Key.new
key.public_hex
puts "SAVE BUT DO NOT SHARE THIS (Private Key): 0x#{key.private_hex}"
puts "Address: #{key.address}"

Explicação do código acima

Linha 1: Importação da gem/pacote eth.

Linha 2: Instanciar o objeto Eth, criar uma nova chave e armazená-la na variável key.

Linha 3: Geração de uma chave pública hexadecimal a partir da chave, utilizando o método public_hex.

Linha 4: Gerar uma chave privada hexadecimal a partir da chave utilizando o método `private_key` e acrescentar-lhe o prefixo 0x; em seguida, exibi-la acompanhada de um aviso.

Linha 5: Gerar o endereço e exibi-lo com a string «Endereço:»

Por favor, guarde o ficheiro e execute-o utilizando...

$ ruby address.rb

Se tudo correr bem e o código for executado com sucesso, deverá ficar assim.

Conclusão

Parabéns, já tens o teu próprio endereço Ethereum, que podes utilizar para assinar/enviar transações e interagir com a rede Ethereum. Consulta o guia sobre «Como ligar-se à rede Ethereum utilizando Ruby (ethereum.rb)».

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