Última atualização da página: July 22, 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.
- Getting up to speed on Ethereum Aug 7, 2017 - Matt Condon
- Ethereum In Depth, Part 1 May 11, 2018 - Facu Spagnuolo
- Ethereum In Depth, Part 2 July 24, 2018 - Facu Spagnuolo
- Ethereum Development Walkthrough, Parts 1-5 Jan 14, 2018 - dev_zl
- Ethereum 101, Parts 1-7 Feb 13, 2019 - Wil Barnes
- Full Stack Hello World Voting Ethereum Dapp Tutorial Jan 18, 2017 - Mahesh Murthy
- Mastering Ethereum - A comprehensive textbook available for free online Dec 1, 2018 - Andreas Antonopoulos & Gavin Wood
- Ethereum Developer Portal - Everything you need to get started building on Ethereum Atualizado frequentemente - ConsenSys
- Deconstructing a Solidity Contract Aug 13, 2018 - Alejandro Santander & Leo Arias
- Full Stack Dapp Tutorial Series Atualizado frequentemente - Joshua Cassidy
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.
Solidity A linguagem mais popular na Ethereum, inspirada por C++, Python e Javascript
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
- How formal verification of smart-contacts works July 20, 2018 - Brian Marick
- How Formal Verification Can Ensure Flawless Smart Contracts Jan 29, 2018 - Bernard Mueller
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
- Node Configuration Cheat Sheet Jan 5, 2019 - Afri Schoeden
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
- consensys.github.io/smart-contract-best-practices/
- Github
- Coleção agregada de recomendações de segurança e melhores práticas
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
- Challenge of UX in Ethereum June 25, 2018 - Anna Rose
- Designing for blockchain: what’s different and what’s at stake March 22, 2018 - Sarah Baker Mills
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.
- Lista de EIPs
- Repositório de Github de EIP
- Tabela de discussão de EIP
- Ethereum Governance Overview March 31, 2019 - Boris Mann
- Lista de reprodução de todas as reuniões de Ethereum Core Dev (YouTube Playlist)
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.