Programando Bitcoin por Jimmy Song: Uma Revisão
Se você está interessado em aprender a programar o Bitcoin do zero, pode ter encontrado um livro chamado Programando Bitcoin por Jimmy Song. Este livro pretende ensinar os fundamentos da tecnologia Bitcoin e como codificar uma biblioteca Bitcoin em Python. Mas este livro vale o seu tempo e dinheiro? Neste artigo, revisaremos Programando Bitcoin por Jimmy Song e ajudá-lo a decidir se este livro é adequado para você.
O que é Programar Bitcoin?
Programando Bitcoin é um livro escrito por Jimmy Song, um desenvolvedor e educador Bitcoin. O livro foi publicado pela O'Reilly Media em fevereiro de 2019 e recebeu feedback positivo de muitos leitores e críticos. O livro visa ensinar aos programadores e desenvolvedores Python como programar uma biblioteca Bitcoin do zero, abordando tópicos como matemática, criptografia, transações, blocos, mensagens de rede, verificação simplificada de pagamento, segwit e rede relâmpago. O livro também inclui exercícios e exemplos de código para cada capítulo, bem como um repositório GitHub com o código-fonte do livro.
programming bitcoin jimmy song pdf download
Download File: https://blltly.com/2vOzIE
Quem é Jimmy Song?
Jimmy Song é uma figura bem conhecida na comunidade Bitcoin. Ele está envolvido com Bitcoin desde 2013 e contribuiu para vários projetos de código aberto, como Bitcoin Core, Armory, btcd e bcoin. Ele também é co-autor do Propostas de Melhoria do Bitcoin (BIPs) para segwit e taproot. Atualmente, ele é sócio da Blockchain Capital, uma empresa de capital de risco que investe em startups relacionadas a blockchain. Ele também é fundador e instrutor da Programming Blockchain, uma empresa que oferece seminários e workshops sobre programação Bitcoin. Ele tem um blog, um podcast e um canal no YouTube onde compartilha suas ideias e opiniões sobre Bitcoin e tópicos relacionados.
Por que você deve ler Programming Bitcoin?
Se você está curioso sobre como o Bitcoin funciona e quer aprender como codificar seus próprios aplicativos Bitcoin, Programando Bitcoin pode ser uma boa escolha para você. O livro pressupõe que você tenha algum conhecimento básico de Python e conceitos de programação, mas não requer nenhuma experiência anterior com Bitcoin ou criptografia. O livro explica os conceitos e técnicas por trás do Bitcoin de maneira clara e concisa, usando diagramas, ilustrações e trechos de código. O livro também desafia você a aplicar o que aprendeu fazendo exercícios e construindo uma biblioteca Bitcoin do zero. Ao ler este livro, você obterá uma compreensão mais profunda do design e da lógica do Bitcoin, bem como das habilidades e da confiança para criar seus próprios projetos de Bitcoin.
Programando Bitcoin: O Conteúdo
Programando Bitcoin consiste em 14 capítulos, cada um cobrindo um aspecto diferente da tecnologia Bitcoin. Aqui está uma breve visão geral de cada capítulo:
Capítulo 1: Matemática
Este capítulo apresenta alguns conceitos matemáticos básicos que são essenciais para a compreensão do Bitcoin, como números binários, números hexadecimais, conversão de base, aritmética modular, exponenciação, logaritmos e grandes números inteiros. Você aprenderá como usar o Python para realizar essas operações e como elas se relacionam com o Bitcoin.
Capítulo 2: Criptografia de Curva Elíptica
Este capítulo explica o que são curvas elípticas e por que elas são importantes para a criptografia. Você aprenderá como definir uma curva elíptica, como realizar adição e multiplicação escalar em uma curva elíptica e como usar a curva secp256k1 que o Bitcoin usa. Você também aprenderá como gerar chaves públicas e privadas usando criptografia de curva elíptica.
Capítulo 3: Campos Finitos
Este capítulo introduz o conceito de corpos finitos, que são conjuntos de números que possuem um número finito de elementos e obedecem a certas regras.Você aprenderá como definir um campo finito, como realizar operações aritméticas em um campo finito e como usar o campo finito Fp que o Bitcoin usa. Você também aprenderá como representar pontos em uma curva elíptica como elementos de um campo finito.
Capítulo 4: Criptografia de curva elíptica na prática
Este capítulo mostra como usar a criptografia de curva elíptica na prática, como assinar e verificar mensagens usando assinaturas digitais, como compactar e descompactar chaves públicas, como codificar e decodificar chaves e assinaturas usando base58 e base58check e como derivar chaves filhas usando carteiras determinísticas hierárquicas. Você também aprenderá como usar a biblioteca Python ecdsa para executar operações de criptografia de curva elíptica.
Capítulo 5: Transações
Este capítulo explica o que são transações e como elas funcionam no Bitcoin. Você aprenderá como criar, analisar, serializar e desserializar transações, como usar entradas e saídas, como calcular taxas de transação, como bloquear e desbloquear scripts, como usar endereços pay-to-public-key-hash (P2PKH) e pay-to-script-hash (P2SH) e como transmitir transações para a rede.
Capítulo 6: Roteiro
Este capítulo apresenta a linguagem de script que o Bitcoin usa para especificar as condições de gastos. Você aprenderá como escrever, ler, executar e depurar scripts, como usar opcodes, operações de pilha, controle de fluxo e operações aritméticas e como usar scripts padrão como multisig, timelock, hashlock e nLocktime.
Capítulo 7: Blocos
Este capítulo explica o que são blocos e como eles funcionam no Bitcoin. Você aprenderá como criar, analisar, serializar e desserializar blocos, como usar cabeçalhos, árvores merkle e provas merkle, como validar blocos e transações, como calcular hashes e dificuldade de bloco e como minerar blocos usando prova de trabalho.
Capítulo 8: Mensagens de rede
Este capítulo descreve o protocolo de rede que o Bitcoin usa para se comunicar com outros nós.Você aprenderá como criar, analisar, serializar e desserializar mensagens de rede, como usar tipos de mensagem como versão, verack, ping, pong, getaddr, addr, inv, getdata, tx, block e rejeitar e como usar o soquete da biblioteca Python para enviar e receber mensagens de rede.
Capítulo 9: Nós de Verificação de Pagamento Simplificada (SPV)
Este capítulo explica o que são nós de verificação simplificada de pagamento (SPV) e como eles funcionam no Bitcoin. Você aprenderá como criar e executar um nó SPV, como usar filtros bloom para solicitar transações relevantes, como usar provas merkle para verificar transações e como usar o modo somente cabeçalhos para sincronizar com a rede.
Capítulo 10: Filtros Bloom
Este capítulo se aprofunda no conceito de filtros bloom, que são estruturas de dados que permitem que os nós SPV solicitem transações que correspondam a determinados critérios. Você aprenderá como criar, analisar, serializar e desserializar filtros bloom, como usar funções hash e matrizes de bits, como calcular taxas de falsos positivos e parâmetros ideais e como usar a biblioteca Python bitarray para manipular filtros bloom.
Capítulo 11: Segwit
Este capítulo apresenta o conceito de segwit, que é uma atualização de protocolo que separa os dados de assinatura dos dados de transação. Você aprenderá como o segwit funciona, por que foi implementado, quais benefícios ele traz e quais desafios ele enfrenta. Você também aprenderá como usar endereços segwit, scripts, transações, blocos e mensagens de rede.
Capítulo 12: Rede Lightning
Este capítulo apresenta o conceito de Lightning Network, que é uma solução de camada 2 que permite transações off-chain rápidas e baratas. Você aprenderá como a Lightning Network funciona, quais problemas ela resolve, quais compensações ela envolve e quais recursos ela oferece. Você também aprenderá como usar canais de pagamento, nós de roteamento, faturas, pagamentos e mensagens de rede.
Programando Bitcoin: os prós e contras
Programando Bitcoin é um livro bem escrito e bem estruturado que cobre muito terreno em uma quantidade relativamente curta de páginas. No entanto, como qualquer livro, também tem algumas desvantagens e limitações. Aqui estão alguns dos prós e contras de Programando Bitcoin:
Os prós
O livro é claro e conciso. O autor usa linguagem simples e evita jargões desnecessários. O livro também usa diagramas, ilustrações e trechos de código para explicar os conceitos e técnicas por trás do Bitcoin.
O livro é prático e prático. O autor desafia você a aplicar o que aprendeu fazendo exercícios e construindo uma biblioteca Bitcoin do zero. O livro também fornece o código-fonte do livro e um repositório GitHub onde você pode encontrar soluções e recursos adicionais.
O livro é completo e atualizado. O autor cobre uma ampla gama de tópicos, desde o básico de matemática e criptografia até os recursos avançados de segwit e Lightning Network. O livro também reflete o estado atual da tecnologia e do protocolo Bitcoin a partir de 2019.
Os contras
O livro não é para iniciantes. O livro pressupõe que você tenha algum conhecimento básico de Python e conceitos de programação, mas não ensina como programar em Python ou como usar ferramentas e bibliotecas Python. O livro também não explica os fundamentos do Bitcoin ou criptomoeda, como o que é um blockchain, o que é uma carteira ou o que é um nó. Você precisará ter algum conhecimento prévio ou fazer alguma pesquisa extra para entender completamente o livro.
O livro não é para especialistas. O livro se concentra em ensinar como programar o Bitcoin do zero, mas não se aprofunda ou detalha a teoria ou a implementação do Bitcoin. O livro também não cobre alguns dos tópicos mais avançados ou especializados, como algoritmos de consenso, técnicas de privacidade ou criptomoedas alternativas. Você precisará procurar outras fontes ou livros se quiser aprender mais sobre esses tópicos.
O livro não é para todos.O livro é escrito em um estilo coloquial e informal, que alguns leitores podem achar cativante e divertido, mas outros podem achar irritante ou perturbador. O livro também usa Python como linguagem de programação, que alguns leitores podem preferir e gostar, mas outros podem não gostar ou ter dificuldades. Você precisará ter um certo nível de interesse e conforto com o estilo e a linguagem do livro para apreciá-lo.
Programando Bitcoin: O Veredicto
Programando Bitcoin de Jimmy Song é um ótimo livro para programadores e desenvolvedores Python que desejam aprender como programar Bitcoin do zero. O livro é claro, conciso, prático, abrangente e atualizado. No entanto, o livro não é para iniciantes, especialistas ou todos. O livro requer algum conhecimento prévio de Python e conceitos de programação, não se aprofunda ou detalha a teoria ou a implementação do Bitcoin e usa um estilo conversacional e informal e Python como linguagem de programação. Portanto, você precisará considerar seu próprio nível de experiência, interesse e preferência antes de decidir se este livro é adequado para você.
Conclusão
Neste artigo, revisamos Programando Bitcoin por Jimmy Song, um livro que ensina como programar Bitcoin do zero usando Python. Discutimos sobre o que é o livro, quem é o autor, por que você deve lê-lo, que conteúdo cobre, quais são os prós e os contras e a que veredicto chegamos. Esperamos que este artigo tenha ajudado você a decidir se este livro vale o seu tempo e dinheiro.
perguntas frequentes
P: Como posso obter uma cópia de Programming Bitcoin de Jimmy Song?
R: Você pode comprar uma cópia física ou digital do livro em várias plataformas online, como Amazon, O'Reilly Media ou Google Play Books. Você também pode baixar uma versão em PDF do livro gratuitamente em .
P: Como posso entrar em contato com Jimmy Song ou acompanhar seu trabalho?
R: Você pode visitar o site dele em , onde você pode encontrar seu blog, podcast, canal do YouTube, cursos, livros e contas de mídia social.
P: Quais são alguns outros livros que ensinam programação Bitcoin?
R: Alguns outros livros que ensinam programação Bitcoin são Dominando o Bitcoin por Andreas Antonopoulos, Grokking Bitcoin por Kalle Rosenbaum, Bitcoin e tecnologias de criptomoeda por Arvind Narayanan, Joseph Bonneau, Edward Felten, Andrew Miller e Steven Goldfeder, e Blockchain de programação por Jimmy Song.
P: Quais são alguns outros recursos que podem me ajudar a aprender a programar Bitcoin?
R: Alguns outros recursos que podem ajudá-lo a aprender a programação Bitcoin são .
P: Quais são alguns outros tópicos que posso aprender sobre Bitcoin?
R: Alguns outros tópicos que você pode aprender sobre o Bitcoin são a história e a filosofia do Bitcoin, a economia e a teoria dos jogos do Bitcoin, a segurança e a privacidade do Bitcoin, a escalabilidade e inovação do Bitcoin e as implicações sociais e políticas do Bitcoin.
0517a86e26
Comments