Ícone Técnico Técnico

Este é um guia técnico completo do bitcoin.

Cada página contém explicações em texto simples e diagramas de como as diferentes partes do bitcoin funcionam. Elas também incluem exemplos do mundo real e ferramentas para te ajudar a trabalhar com dados brutos do bitcoin.

Então, se você realmente quer saber como o bitcoin funciona por baixo dos panos, este guia é para você.

Como se tornar um programador de bitcoin

Incluí muitos exemplos de código neste guia técnico para te ajudar a escrever seus próprios scripts.

Isso porque a melhor forma de aprender a se tornar um desenvolvedor de bitcoin é, de fato, escrever código.

Os exemplos de código ficam nestas caixas

Ícone Ruby

A maioria dos exemplos de código está em Ruby porque acho que é a linguagem mais fácil de ler.

Se você não usa Ruby, deve conseguir usar os trechos de código como referência para reescrevê-los na linguagem de sua escolha.

Você pode ler sobre como o bitcoin funciona o quanto quiser, mas, até começar a programar, cometer erros (e você vai cometer) e construir ferramentas úteis, você nunca vai progredir. Então não tenha medo de tentar. Todos nós precisamos começar de algum lugar.

E se eu consegui aprender a fazer coisas com bitcoin, você também consegue.

Instale o Bitcoin Core

Logo do Bitcoin

Se você vai trabalhar com bitcoin, é uma boa ideia instalar o Bitcoin Core (o programa original do bitcoin). Rodar seu próprio nó local te dá acesso aos dados brutos do bitcoin, ferramentas úteis de linha de comando para depurar e decodificar, e a capacidade de enviar transações brutas para a rede:

bitcoin-cli getrawtransaction <txid>
bitcoin-cli decoderawtransaction <dados brutos da transação>
bitcoin-cli sendrawtransaction <dados brutos da transação>

Você pode listar todos os comandos disponíveis rodando bitcoin-cli help.

Use sua linguagem de programação favorita

Você pode trabalhar com bitcoin em qualquer linguagem de programação que quiser, então é melhor usar a sua favorita.

Você tem mais chance de sucesso se trabalhar com uma linguagem que te agrada, em vez de se forçar a programar em uma linguagem que você acha que "deveria" estar usando por algum motivo. E se você ainda não conhece nenhuma linguagem, escolha a que você achar mais legal.

Se você quer se tornar um desenvolvedor do Bitcoin Core, vai precisar aprender C++.

Por onde começar na programação de bitcoin

Se eu tivesse que te dar uma rota específica, diria que estes são os três marcos mais práticos (e satisfatórios) ao aprender a programar com bitcoin:

  1. Gerar suas próprias chaves. Este é o lugar perfeito para começar. Tente gerar sua própria chave privada, chave pública e endereço.
    Ícone Ferramenta

    Chave Privada

    Gere um número aleatório de 256 bits.

    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    0b
    0 bits
    0d
    0x
    0 bytes

    Nunca use uma chave privada gerada por um site, nem insira sua chave privada em um site. Sites podem facilmente salvar a chave privada e usá-la para roubar seus bitcoins.

  2. Decodificar uma transação. Aprender a decodificar uma transação bruta vai te ensinar muito sobre a estrutura de uma transação de bitcoin, e elas formam 99% dos dados dentro da blockchain.
    Ícone Ferramenta Separador de Transação
    Ícone Ferramenta

    Separador de Transações

    Cole uma transação bruta (hexadecimal) para dividi-la nos seus campos individuais.

  3. Criar sua própria transação. Depois de decodificar uma transação, você está pronto para criar a sua. Este é um marco bem maior (vá com calma), mas é o próximo passo natural. Assiná-la será a parte mais complicada.
    Ícone Ferramenta Construtor de Transação
    Ícone Ferramenta

    Construtor de Transações

    Monte os dados brutos de uma transação a partir das entradas e saídas. Os scripts são escritos em ASM (ex.: OP_DUP OP_HASH160 ab12… OP_EQUALVERIFY OP_CHECKSIG).

    Tipo

    Entradas (1)

    Saídas (1)

    0 bytes

Escreva ferramentas de linha de comando

Escrever ferramentas de linha de comando é uma boa forma de começar a programar para bitcoin. Algumas ferramentas básicas que serão muito úteis a longo prazo são:

Seu primeiro projeto de bitcoin (importante)

A melhor forma de aprender a se tornar um programador de bitcoin é tentar construir algo.

Se você tem uma ideia de algo que quer construir, simplesmente vá em frente e aprenda o que precisa aprender no caminho. Você não precisa saber sobre todos os aspectos do bitcoin para começar a fazer algo útil.

Pode parecer uma tarefa intimidante no início, especialmente se você é novo em bitcoin e/ou programação, mas, se você for um passo de cada vez, vai chegar lá.

Seja responsável. Você precisa ter muito cuidado se está criando uma ferramenta que lida com chaves privadas ou cria transações para outras pessoas (ex.: uma carteira). Uma coisa é cometer seus próprios erros e perder suas próprias moedas; outra é cometer erros que façam outras pessoas perderem moedas, então não leve isso na brincadeira.

Resumo

Não deixe ninguém te fazer pensar que você não pode ser um programador de bitcoin.