Shell Script para geração de chaves Bitcoin (brain wallets)

Olá galera crypto

Após buscar muito na internet informações sobre as chaves bitcoin, encontrei os vídeos do @tiago que, de forma muito didática, abriram minha mente para o real entendimento de como gerar estas chaves.

Pensei comigo: e se eu puder repetir o procedimento explanado pelo @tiago no terminal do meu linux?
Me animei. Pesquisei se alguém já fazia isto mas não encontrei nada simples como eu queria. Juntando informações aqui e acolá, Bitcoin Wiki e os vídeos da série do @tiago, cheguei num resultado que considero bastante satisfatório e simples, como era o meu principal objetivo.

Fiquem a vontade para testar o programa, reportar erros, propor melhorias, adaptar, indicar ferramentas semelhantes, etc.

Abaixo disponibilizo o link do script no codeberg.

https://codeberg.org/tramegit/bitaddress

3 curtidas

Olá amigo!
Sensacional. Eu sou um fã de shell script e me diverti aqui lendo o código.

Só sugiro uma pequena mudança:

diff --git a/bitaddress.sh b/bitaddress.sh
index 6cb028d..42fc127 100644
--- a/bitaddress.sh
+++ b/bitaddress.sh
@@ -46,8 +46,8 @@ version=80   #EF test  / 80 main
 echo " Bitcoin Address"
 echo " ---------------"
 echo " "
-read -p " Enter the seed: " seed
-hash=$(echo $seed | sha256sum )
+IFS= read -p " Enter the seed: " seed
+hash=$(echo -n "$seed" | sha256sum )
 private=$(echo ${hash:0:64})
 privatekey=$(echo ${private^^})
 echo " "

Isto arruma dois pequenos problemas:

  • faz com que o read não ignore espaços em branco no inicio da seed.
  • evita contabilizar o linebreak ‘\n’ na hora de computar o hash da chave privada, que é exatamente como o bitaddress funciona na hora de gerar brainwallets.

Você pode testar a modificação na aba de brainwallet do bitaddress usando a mesma seed que você consegue gerar os mesmos endereços.

Parabéns!

1 curtida

Olá Tiago, valeu mesmo pelas considerações. Fiz os testes e funcionou perfeitamente com a inclusão de espaços. Vou atualizar no codeberg.

Só posso agradecer a você pela série de vídeos que, como eu falei, me abriram o entendimento e a confiança no bitcoin. Meu próximo passo é entender as operações.

Eu não sou programador profissional, minha área na verdade é engenharia civil, mas vi que existe um mundo de possibilidades no mundo cripto. Se você resolver lançar cursos de como desenvolver soluções nesta área, me coloca na lista, hehehe.

Grande abraço!

2 curtidas