Guia do iniciante para o desenvolvimento DApp

A Ethereum desempenhou um papel importante na adoção mais ampla da tecnologia blockchain, com sua Máquina Virtual Ethereum (EVM) e contratos inteligentes. É uma plataforma que permite aos desenvolvedores criar e lançar aplicativos distribuídos (DApps), e os desenvolvedores responderam com a construção de mais de 1.500 DApps até agora! Você é um desenvolvedor interessado em construir DApps? Este guia de desenvolvimento DApp de alto nível pode ajudá-lo a começar.

O desenvolvimento de DApps não é um projeto simples plug-and-play e requer uma programação séria. Este guia de desenvolvimento DApp não tem a intenção de cobrir detalhes, mas fornece uma visão geral de alto nível das etapas. Ele também fornece uma seção de “recursos” na parte posterior do artigo, indicando onde você pode aprender mais sobre uma etapa específica.

Desenvolvimento de DApp: as etapas necessárias para realizar

Esta é uma visão geral de alto nível do que um desenvolvedor precisa fazer, passo a passo, para criar e lançar um Ethereum DApp:

1. Aprenda Ethereum:

Um DApp precisa seguir uma estrutura conceitual específica e a única maneira de entender isso é aprender Ethereum.

Por exemplo, um DApp deve ser de código aberto e deve operar de forma autônoma, sem qualquer entidade que controle a maioria dos tokens criptográficos. Mudanças em um DApp devem seguir um consenso na comunidade. O código de back-end deve incluir contratos inteligentes e deve ser executado em um blockchain descentralizado. O DApp deve usar um token criptográfico gerado usando um algoritmo criptográfico padrão e os dados devem ser armazenados em um blockchain enquanto segue os padrões criptográficos.

Aprender a plataforma de blockchain Ethereum descentralizada e baseada em consenso é a primeira etapa não negociável para o desenvolvedor realizar.

2. Obtenha seu blockchain:

Embora existam muitos clientes que o desenvolvedor pode escolher, recomendamos ‘testrpc’ para um novo desenvolvedor DApp. Esta ferramenta agora faz parte do pacote de ferramentas Truffle, é fácil de usar e fácil de começar usando uma interface de linha de comando (CLI).

A ferramenta não extrai blocos por padrão, mas para fins de desenvolvimento, o intervalo do bloco pode ser especificado usando a CLI.

3. Comunique-se com o blockchain:

A ferramenta mais fácil e comum para se comunicar com o blockchain é ‘web3.js’. A instalação é fácil, e há instruções específicas para configurar os parâmetros necessários, por exemplo:

  • Configurando o arquivo acongig.js;
  • Configurando as funções da API web3, para comunicação com o blockchain.

4. Aprenda a solidez:

Solidity é a linguagem proprietária da Ethereum para escrever contratos inteligentes. É uma linguagem rica em recursos projetada especificamente para essa finalidade, e esta linguagem de programação de alto nível foi inspirada em C ++, Java, Python e JavaScript. Um DApp pode ter seu código de front-end em qualquer linguagem, mas o código de back-end deve incluir contratos inteligentes, portanto, esse aprendizado também não é negociável para um novo desenvolvedor de DApp.

5. Codifique contratos inteligentes:

Um desenvolvedor que codifica contratos inteligentes deve seguir as seguintes diretrizes gerais para eficácia:

  • Mantenha a lógica de computação e os requisitos de armazenamento mínimos, porque a execução de contratos inteligentes exige “gás”, ou seja, uma medida de poder de computação. Não é gratuito, “preço do gás”, ou seja, um certo número de tokens criptográficos deve ser pago. Isso significa que Ether (ETH), ou seja, criptomoeda nativa de Ethereum precisa ser gasto na execução de um contrato inteligente. A lógica de computação simples requer menos gás.
  • O código deve evitar complexidade, porque quanto mais complexo for o código, maior será a probabilidade de erros. O resultado de um contrato inteligente é irreversível, portanto, a codificação de contratos inteligentes simples e livres de erros é fundamental.

6. Implante os contratos inteligentes:

O conjunto de ferramentas recomendado para isso é ‘Truffle’. Tem as seguintes vantagens:

  • Um diretório permite que o desenvolvedor mantenha todos os seus contratos inteligentes;
  • A ferramenta pode se misturar facilmente à estrutura de teste porque os scripts podem implantar os contratos no ambiente de teste, executar o ‘teste de trufas’ e executar testes regulares.
  • A implantação usando este conjunto de ferramentas é fácil e os parâmetros necessários podem ser facilmente configurados no arquivo config.js. O Testrpc deve ser executado em uma janela separada para que a implantação funcione.

7. Invoque o contrato inteligente:

As chamadas para os contratos inteligentes devem ser em strings hexadecimais, no entanto, existem bibliotecas de “interface binária de aplicação” (ABI) do contrato Ethereum para ajudar com isso.

8. Configure uma conta Ethereum:

Para executar os contratos inteligentes, o desenvolvedor precisa gastar Ether, e ela precisa criar uma conta Ethereum para isso. O ‘eth-lightwallet’ é recomendado porque gerar um par de chaves públicas e privadas e gerenciá-lo é fácil com isso. O desenvolvedor precisa atualizar o arquivo config.js com os detalhes principais. O desenvolvedor pode voltar ao teste de trufas e ver Ether movendo-se entre contas.

Observação Improtant: O desenvolvedor não deve compartilhar sua chave privada com ninguém, ou publicá-la em qualquer fórum online.

9. Transar com o contrato inteligente:

Depois de comprar algum Ether e armazená-lo em sua conta, o desenvolvedor precisa dar o último passo no desenvolvimento do DApp, que é fazer transações usando o Ether. Existem 3 opções:

  1. Transferir para outro endereço como um valor;
  2. Chame uma função de contrato que atualizará o estado da rede e gastará o Éter para pagar as taxas ao minerador;
  3. Envolva um contrato que atualize o estado da rede e aceite Ether como pagamento. O desenvolvedor também precisa pagar as taxas para a mineradora.

10. Desenvolvimento DApp: recursos úteis

Para uma visão geral das etapas de desenvolvimento DApp, o desenvolvedor pode ler esta artigo abrangente de Hackernoon. A seguir estão os recursos para as etapas individuais:

  1. Para aprender Ethereum: Tutorial de desenvolvimento Ethereum, Livro Branco Ethereum, e Papel ethereum amarelo.
  2. GitHub material para Testrpc.
  3. GitHub material para web3.js.
  4. Conectados curso para a solidez.
  5. GitHub material para conjunto de ferramentas Truffle.
  6. GitHub material para biblioteca ABI.
  7. GitHub material para eth-lightwallet.

Além disso, ‘dappsforbeginners‘É um bom site para um novo desenvolvedor obter orientação. Caso você ainda não tenha certeza, aqui estão 5 razões pelas quais você deve aprender o desenvolvimento de blockchain. Ainda em busca de inspiração aqui estão os 10 principais dapps a seguir em 2018.

Adoraria ouvir sua experiência de sua primeira experiência de desenvolvimento dapp na seção de comentários abaixo.