Rankings

Dez ferramentas de desenvolvimento blockchain: a lista de 2023

mm
Adicione Securities.io às suas fontes preferidas no Google
Divulgação: Securities.io pode receber compensação quando você usa links para produtos que avaliamos. Isso não influencia nossas avaliações editoriais. Não somos consultores de investimentos registrados; isto não é aconselhamento de investimento. Leia nossa divulgação de afiliados.
Top 10 Blockchain Programming Tools

Ferramentas de desenvolvimento podem economizar tempo na criação de aplicativos blockchain. Esta lista de 2023 apresenta dez linguagens, programas e categorias de infraestrutura. A situação de manutenção varia: alguns projetos já haviam sido encerrados ou estavam em processo de descontinuação.

1. Solidity

Solidity é uma linguagem muito utilizada para contratos inteligentes no Ethereum e em outras redes compatíveis com a EVM. Foi desenvolvida no ecossistema Ethereum, mas não é a única linguagem de programação blockchain.

Sua popularidade se apoia em um amplo ecossistema de bibliotecas e ferramentas. Solidity é adequada a muitos aplicativos compatíveis com Ethereum, mas não inventou o conceito de contrato inteligente.

Fonte: Soliditylang.org — ferramentas de desenvolvimento blockchain

Fonte – Soliditylang.org


Solidity conta com documentação, exemplos e bibliotecas abrangentes. O código-fonte é compilado para código executável pela Máquina Virtual Ethereum (EVM). O link para a documentação da versão 0.8.21 corresponde à época original do artigo.

2. MetaMask

Para interagir com aplicativos descentralizados, o desenvolvedor costuma usar uma carteira. A MetaMask oferece, entre outros recursos, uma extensão de navegador e um aplicativo móvel para gerenciar contas, conectar aplicativos e assinar transações.

Ela pode se conectar às redes e testnets compatíveis. Trocar de rede não transfere automaticamente ativos entre blockchains; isso exige funções ou serviços específicos. A carteira não é uma rede blockchain e não garante a segurança nem a liquidez do aplicativo.

3. Truffle

Truffle era um ambiente conhecido para desenvolver contratos inteligentes Ethereum, não apenas tokens ERC-20. Oferecia compilação, implantação de contratos, vinculação de bibliotecas e testes automatizados com ferramentas como Mocha e Chai.

Em 21 de setembro de 2023, a Consensys anunciou a descontinuação do Truffle e do Ganache, com arquivamento público dos repositórios em 20 de dezembro de 2023. Os usuários foram direcionados, entre outras opções, ao Hardhat e ao Foundry. Portanto, Truffle é uma ferramenta histórica nesta lista, não um ponto de partida indispensável e ativamente mantido para novos projetos.

4. Redes de teste blockchain

Testnets ajudam a experimentar contratos e aplicativos antes da implantação na rede principal. Podem revelar problemas de funcionamento e integração, mas não comprovam automaticamente segurança, estabilidade ou escalabilidade.

Testnets públicas são diferentes de redes locais de desenvolvimento. Ganache era uma blockchain local de desenvolvimento do ecossistema Truffle, não uma testnet pública do Ethereum. O encerramento de sua manutenção foi explicado acima.

Um ambiente local oferece controle e experimentação rápida. Uma testnet pública ajuda a testar interações em um ambiente compartilhado, mas a carga e as condições econômicas podem diferir das da rede principal. Tokens de teste permitem experimentar sem ativos reais da rede principal; usar uma testnet não reduz, por si só, as taxas de gas do aplicativo em produção.

5. Blockchain como serviço (BaaS)

No modelo BaaS, o fornecedor gerencia partes da infraestrutura blockchain, como nós ou redes. Isso pode simplificar a implantação e a operação, mas custos e recursos dependem do serviço e das necessidades do cliente.

O cliente continua responsável por aspectos como lógica do aplicativo, permissões de acesso, configuração e testes. Um serviço de nuvem gerenciado não elimina automaticamente todas as tarefas de manutenção e segurança.

A integração com sistemas existentes depende das interfaces disponíveis e dos requisitos técnicos. A Amazon (AMZN ) oferece o AWS Managed Blockchain; o AWS Amplify é, por sua vez, um conjunto de ferramentas para aplicativos web e móveis que podem ser integrados a outros serviços. A Microsoft (MSFT ) tinha o Azure Blockchain Service, mas esse serviço específico foi encerrado em 10 de setembro de 2021. Isso não significa que todos os serviços Azure tenham sido descontinuados. Esses nomes devem ser distinguidos ao avaliar os exemplos históricos do artigo.

6. Geth

Geth é o cliente de execução Ethereum implementado em Go. Processa transações, execução da EVM, estado e interfaces de programação, entre outras funções. Desenvolvedores podem utilizá-lo para implantar contratos e ler informações da rede.

Desde a transição do Ethereum para proof of stake em 2022, um nó completo também precisa de um cliente de consenso. Geth não cria automaticamente pontes entre redes ERC-20: ERC-20 é um padrão de token, não uma rede separada. A rede principal Ethereum não utiliza mais mineração de blocos, e os contratos não precisam ser escritos em Go.

7. Mist

Mist era um navegador independente para aplicativos descentralizados, com funções de carteira e conexão a um nó Ethereum. Diferia de uma extensão de navegador e esteve historicamente disponível para Linux, macOS e Windows. Operar um nó completo exigia espaço considerável de armazenamento.

Em 27 de março de 2019, os desenvolvedores anunciaram que Mist e Ethereum Wallet não seriam mais suportados. O repositório foi arquivado. Portanto, Mist não era uma recomendação atual nem mesmo em 2023, e o antigo status oficial não comprova segurança. Sua inclusão aqui serve para explicar a história do ecossistema.

8. Remix IDE

Remix IDE é um ambiente de desenvolvimento, inclusive para Solidity, disponível no navegador e como aplicativo de desktop. Oferece suporte à escrita, compilação, análise, testes e implantação de contratos inteligentes. É possível começar com simulação local e depois utilizar uma testnet ou a rede principal por meio de uma conexão compatível. A ferramenta não substitui uma avaliação abrangente de segurança.

9. Ethlint

Ethlint, anteriormente Solium, verifica regras de estilo e alguns problemas de segurança no código Solidity e pode corrigir parte dos problemas automaticamente. A documentação informa que o antigo pacote solium não recebe atualizações após dezembro de 2019 e direciona os usuários ao ethlint.

Um linter não encontra todos os erros e não substitui testes ou auditorias. Violar uma regra de estilo não faz necessariamente o aplicativo falhar; formatação e erros funcionais são coisas diferentes. Também é preciso verificar a compatibilidade com a versão Solidity utilizada.

10. Solc

Solc é o compilador de Solidity. Ele transforma código-fonte em bytecode e em uma descrição ABI, entre outros resultados. Aplicativos utilizam a ABI para se comunicar com o contrato.

O compilador nativo é implementado em C++, enquanto solc-js permite acessar o mesmo compilador a partir de JavaScript. Isso não significa que solc compile contratos escritos em C++ ou JavaScript: sua linguagem de entrada é Solidity. As configurações devem ser adequadas ao contrato e à rede de destino.

Como escolher ferramentas de desenvolvimento blockchain

As dez entradas abrangem diferentes etapas do desenvolvimento. Avalie funcionalidades, manutenção e compatibilidade antes de escolher. As ferramentas podem facilitar o trabalho, mas a correção dos contratos também exige pesquisa, testes e verificações de segurança.

David Hamilton é um jornalista em tempo integral e um bitcoinista de longa data. Ele se especializa em escrever artigos sobre blockchain. Seus artigos foram publicados em várias publicações de bitcoin, incluindo Bitcoinlightning.com