Última atualização da página: Mar 06, 2020

Recursos para Desenvolvedores

Começando

Se você é novo desenvolvendo na Ethereum, você está no lugar certo. Estes guias escritos pela comunidade da Ethereum o introduzirão aos fundamentos básicos da arquitetura da Ethereum e a conceitos que podem diferir de outras plataformas de desenvolvimento de aplicativos com os quais você está familiarizado.

Necessita de uma introdução geral? Leia ethereum.org/pt-br/learn.

Linguagens para Contratos Inteligentes

Todo programa rodando na Máquina Virtual da Ethereum (EVM) é comumente chamado de "contrato inteligente" (smart contract). As linguagens mais populares para programar contratos inteligentes na Ethereum são Solidity e Vyper, embora existam outras em desenvolvimento.

Linguagem focada em _ Security para Ethereum, baseada em Python._

Procurando outras opções?

Ferramentas do Desenvolvedor

Ethereum possui uma larga e crescente quantidade de ferramentas para auxiliar o desenvolvedor na compilação, no teste e na distribuição de seus aplicativos. Abaixo estão as ferramentas mais populares para começar. Se você quer ir mais a fundo, dê uma olhada na lista completa.

Truffle Um ambiente de desenvolvimento, testes, compilação e outras ferramentas.

Embark Um ambiente de desenvolvimento, quadro de testes e outras ferramentas integradas com a Ethereum, IPFS e Whisper.

Waffle Um framework para desenvolvimento avançado de contratos inteligentes e teste (baseado em ethers.js).

Etherlime Um Framework baseado em Ethers.js para desenvolvimento de dapp (Solidity & Vyper), distribuição, depuração, testes e mais.

Buidler _ Um executor de tarefas para desenvolvedores de contratos inteligentes na Ethereum._

ZeppelinOS _ Um framework de desenvolvimento de contratos inteligentes atualizáveis e gerenciamento seguro de aplicativos de contratos inteligentes._

Procurando outras opções?

Ambientes Integrados de Desenvolvimento (IDEs)

Visual Studio Code IDE profissional multiplataforma com suporte oficial na Ethereum.

Remix IDE baseado na Web com análise estática integrada e máquina virtual de teste de blockchain.

Superblocks IDE baseado na web com máquina virtual de navegador do blockchain integrada, integração do MetaMask, logger de transações e outros recursos.

EthFiddle IDE baseado na web que permite a você escrever, compilar e lançar seu contrato inteligente.

Procurando outras opções?

APIs Javascript para Frontend

Web3.js _API Javascript para Ethereum _

Ethers.js Implementação completa de carteira Ethereum e utilitários em JavaScript e TypeScript

light.js Uma biblioteca JS de alto nível otimizada para clientes leves.

Web3-wrapper Typescript alternativo ao Web3.js

Procurando outras opções?

APIs de Backend

Infura A API Ethereum como um serviço

Ferramentas de Segurança

Slither Framework de análise estática para Solidity escrita em Python 3

MythX API de análise de segurança para contratos inteligentes Ethereum

Manticore Uma interface de linha de comando que usa uma ferramenta de execução simbólica em contratos inteligentes e binários.

Segurify _ Scanner de segurança para contratos inteligentes Ethereum_

Mais acerca de verificação formal

Procurando outras opções?

Ferramentas de teste

Solidity Coverage - Ferramenta alternativa para cobertura de código de Solidity.

hevm Implementação do EVM feita especificamente para testes de unidade e depuração de contratos inteligentes.

Whiteblock Genesis Uma sandbox compreensiva de desenvolvimento e plataforma de teste para blockchain.

Procurando outras opções?

Exploradores de bloco

Exploradores de blocos são serviços que permitem que você navegue no blockchain Ethereum (e suas redes de testes), encontrando informações sobre transações específicas, blocos, contratos e outras atividades.

Redes de teste e Faucets

A comunidade Ethereum mantém múltiplas redes de teste. Estas são utilizadas por desenvolvedores para testar seus aplicativos em diferentes condições antes de implementá-los na rede principal Ethereum.

Ropsten Blockchain baseado em PoW, onde o ether de teste pode ser minerado

Rinkeby Blockchain baseado em Proof of Authority, mantido pelo time de desenvolvedores do Geth

Goerli Blockchain baseado em Proof of Authority de vários clientes, compilado e mantido pela comunidade Goerli

Clientes & Executando seu próprio nodo

A rede Ethereum é composta por muitos nodos, cada um dos quais executa software compatível com o cliente. A maioria destes nodos roda Geth ou Parity, e cada um deles pode ser configurado de diferentes maneiras de acordo com suas necessidades.

Geth Clientes Ethereum escritos em Go

Parity Cliente Ethereum escrito em Rust

Ethnode Execute um nodo Ethereum (Geth ou Parity) para desenvolvimento local.

Recursos de Nodo Ethereum

Procurando outras opções?

Melhores Práticas, Padrões e Anti-padrões

DappSys Códigos-fonte básicos para contratos inteligentes, que são seguros, simples e flexíveis.

OpenZeppelin Biblioteca para desenvolvimento seguro de contrato inteligente.

aragonOS Padrões para melhorar a capacidade de atualização & controle de permissões.

Registro de Falhas do Contrato Inteligente

Guia de melhores práticas de segurança para Contrato Inteligente

Procurando outras opções?

Treinamento & Suporte ao desenvolvedor

Ethereum Stackexchange

Sala de bate-papo sobre Solidity no Gitter

Todos as Salas de bate-papo sobre Ethereum no Gitter

Cryptozombies Aprenda a programar jogos na Ethereum.

Chainshot Tutoriais de codificação de dapp na Web.

Blockgeeks Cursos on-line sobre a tecnologia de blockchain

DappUniversity Aprenda a construir aplicativos descentralizados no blockchain Ethereum

Ethernaut Jogo de guerra baseado em Solidity, onde cada nível é um contrato para ser hackeado

UI/UX

Padrões

A comunidade Ethereum adotou muitos padrões que são úteis para os desenvolvedores. Tipicamente, estes são introduzidos como Propostas de Melhoria na Ethereum (EIPs), as quais são discutidas pela comunidade através de um processo padronizado.

Determinadas EIPs dizem respeito a padrões de aplicativo (por exemplo, um formato de contrato inteligente padrão), que são introduzidos como Ethereum Requests for Comment (ERC). Muitos dos ERCs são padrões críticos utilizados amplamente em todo o ecossistema Ethereum.