Rankings
Dez ferramentas de desenvolvimento blockchain: a lista de 2023

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
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.












