Programming Bitcoin é um livro técnico de Jimmy Song, de 2019. Explica Bitcoin por meio de uma biblioteca em Python: partes reutilizáveis de um programa que o leitor constrói aos poucos. É um manual para quem tem noções de programação, não uma carteira pronta.
Usar um aplicativo e entender seu funcionamento são habilidades diferentes. Song quer conduzir da primeira à segunda: em vez de apenas descrever Bitcoin, pede que o leitor escreva e experimente seus componentes. O objetivo é entender como obter os dados necessários, criar uma transação e entregá-la à rede. Questões monetárias e sociais ficam de fora. [3]
O livro tem 14 capítulos que se apoiam uns nos outros. Começa pela matemática necessária para chaves e assinaturas. Depois vem a serialização, a conversão dos dados para um formato exato de armazenamento e transmissão, seguida por transações, blocos e comunicação de rede. A ordem importa: tarefas mais complexas aproveitam o que já foi construído. [3]
Os capítulos 1–12 contêm exercícios. O leitor modifica arquivos Python e usa testes preparados para conferir se sua solução atende ao enunciado. Aqui, um notebook Jupyter não é um computador portátil, mas um documento de trabalho que permite executar código e ver o resultado imediatamente. Há soluções no apêndice e no repositório; o importante é entender o próprio erro, não apenas copiar a resposta certa. [3]
O último exercício de programação reúne o trabalho anterior: conectar-se a outro nó, identificar os fundos disponíveis, construir e assinar uma transação e transmiti-la. Isso acontece na testnet, uma rede separada para experimentos. Esse plano de ensino do autor não significa que executamos o exercício ou verificamos seu funcionamento no ambiente atual. [3]
A biblioteca usa Python 3. Song recomenda conhecimento intermediário da linguagem, mas considera muitos conceitos acessíveis também a um programador iniciante. Noções de álgebra devem bastar para a matemática; novas ferramentas aparecem gradualmente. Se você nunca programou, é mais fácil começar pelo básico de Python do que aprender ao mesmo tempo a linguagem e o protocolo do Bitcoin. [3]
No capítulo final, Song destaca a dificuldade de proteger chaves privadas. Uma carteira também precisa de controles compreensíveis, backups e histórico de transações. Passar no teste de uma função não demonstra a segurança do programa inteiro. A biblioteca serve ao aprendizado, sem pretender ser uma implementação completa ou otimizada; não se pode considerá-la automaticamente adequada para fundos reais. [3] [4]
O autor sugere uma carteira de teste, um explorador de blocos, uma loja virtual ou uma biblioteca auxiliar. Para a loja, recomenda começar na testnet e usar bibliotecas criptográficas seguras. Contribuir com projetos abertos é outra opção. São ideias para estudar, não uma lista de serviços avaliados atualmente nem uma promessa de emprego. [4]
A O’Reilly informa fevereiro de 2019; o README do repositório do autor, março de 2019. Mantemos os registros distintos. O panorama se baseia em dados editoriais, no prefácio completo e no capítulo final Advanced Topics and Next Steps. Não é uma resenha do livro inteiro nem um teste de seu código. O texto online pode mudar; instruções antigas de instalação devem ser comparadas à documentação atual antes do uso. [1] [2] [3] [4]
Para ter uma visão mais completa, leia este verbete junto com Private Key, Transação, Bitcoin Script, Full Node.
01É um livro para quem está começando do zero?+
Pode servir a quem começa no desenvolvimento para Bitcoin, desde que já tenha noções de programação. O prefácio pressupõe sobretudo Python e matemática aproximadamente no nível de álgebra. Para entender primeiro o uso do Bitcoin sem escrever código, os guias introdutórios oferecem um caminho mais direto.
02Posso confiar meus bitcoins à biblioteca após os exercícios?+
Concluir os exercícios não basta para chegar a essa conclusão. O autor apresenta expressamente a biblioteca como ferramenta de aprendizado. Lidar com fundos reais de modo seguro exige verificações muito mais amplas, incluindo proteção de chaves e recuperação de backups; este panorama não oferece essa validação.