2020欧洲杯预选赛赛程

Page last updated: Jun 24, 2020

Developer Resources

Getting started

If you’re new to developing with Ethereum, you’re in the right place. These guides written by the Ethereum community will introduce you to the basics of the Ethereum stack and introduce core concepts. Prepare to learn a new way to develop your applications!

Want to start coding right away? Start building here.

Need a more basic primer first? Check out our resources to learn how Ethereum works.

Helpful Resources

  • Feb 13, 2019 - Wil Barnes
  • March 2020 - Mahesh Murthy

Smart Contract Languages

Any program that runs on the Ethereum Virtual Machine (EVM) is commonly referred to as a "smart contract". The most popular languages for writing smart contracts on Ethereum are Solidity and Vyper.

Solidity - The most popular language on Ethereum, inspired by C++, Python and JavaScript.

Vyper - Based on Python.

Language Specific Resources

2020欧洲杯预选赛赛程We're building a suite of language-specific landing pages for developer to learn about Ethereum in their preferred programming language.

Integrated Development Environments (IDEs)

Visual Studio Code - Professional cross-platform IDE with official Ethereum support.

Remix - Web-based IDE with built in static analysis, and a test blockchain virtual machine.

EthFiddle - Web-based IDE that lets you write, compile, and debug your smart contract.

Ethereum Studio - Web-based IDE ideal for new developers looking to experiment with smart contracts. Ethereum Studio features multiple templates, MetaMask integration, transaction logger, and a built in-browser Ethereum Virtual Machine (EVM) to help you get started building on Ethereum as fast as possible.

Looking for other options?

Developer Tools

2020欧洲杯预选赛赛程Ethereum has a large and growing number of tools to help developers build, test, and deploy their applications. Below are the most popular tools to get you started. If you want to dive deeper, check out this .

Frameworks

Truffle - A development environment, testing framework, build pipeline, and other tools.

Embark - A development environment, testing framework, and other tools integrated with Ethereum, IPFS, and Whisper.

Waffle - A framework for advanced smart contract development and testing (based on ethers.js).

Etherlime - Ethers.js based framework for dapp development (Solidity & Vyper), deployment, debugging, testing and more.

Other Tools

Ethereum Grid - A desktop application for downloading, configuring, and running Ethereum clients and tools.

Buidler - A task runner for Ethereum smart contract developers.

OpenZeppelin SDK - The Ultimate Smart Contract Toolkit: A suite of tools to help you develop, compile, upgrade, deploy and interact with smart contracts.

The Graph - A protocol for indexing Ethereum and IPFS data and querying it using GraphQL.

Tenderly - A platform to easily monitor your smart contracts with error tracking, alerting, performance metrics, and detailed contract analytics.

Python Tooling - Variety of libraries for Ethereum interaction via Python.

Brownie - Python-based development environment and testing framework.

web3j - A Java/Android/Kotlin/Scala integration library for Ethereum.

One Click Dapp - Generate a frontend directly from ABI for fast development and testing.

3Box - User-controlled IPFS database storage for data-rich and engaging applications. Support for profiles, encrypted spaces, and messaging, with additional drop-in plugins to simplify development.

Status - a messenger, crypto wallet, and Web3 browser built with state of the art technology.

Biconomy - Scalable Relayer infrastructure network and transaction platform enabling you to build applications easily and reduce the friction between your applications built on the blockchain and your end-users.

Create Eth App - Create Ethereum-powered apps with one command. Comes with a wide offerring of UI frameworks and DeFi templates to choose from.

Torus - OAuth Single-sign ons to Dapps with email (and other) account resolvers. Fully opensource

Looking for other options?

Frontend JavaScript APIs

Web3.js - Ethereum JavaScript API.

Ethers.js - Complete Ethereum wallet implementation and utilities in JavaScript and TypeScript.

light.js - A high-level reactive JS library optimized for light clients.

Web3-wrapper - Typescript alternative to Web3.js.

Looking for other options?

Backend APIs

Alchemy - Ethereum API and developer tools.

Infura - The Ethereum API as a service.

Cloudflare Ethereum Gateway.

Nodesmith - JSON-RPC API access to Ethereum mainnet and testnets.

Ethercluster - Run your own Ethereum API service supporting both ETH and ETC.

Chainstack - Shared and dedicated Ethereum nodes as a service.

QuikNode - Blockchain developer platform.

Storage

IPFS - InterPlanetary File System is a decentralized storage and file referencing system for Ethereum.

Swarm - A distributed storage platform and content distribution service for the Ethereum web3 stack.

OrbitDB - A decentralized peer to peer database on top of IPFS.

Security Tools

Smart Contract Security

Slither - Solidity static analysis framework written in Python 3.

MythX - Security analysis API for Ethereum smart contracts.

Mythril - Security analysis tool for EVM bytecode.

SmartContract.Codes - Search engine for verified solidity source codes.

Manticore - A command line interface that uses a symbolic execution tool on smart contracts and binaries.

Securify - Security scanner for Ethereum smart contracts.

ERC20 Verifier - A verification tool used to check if a contract complies with the ERC20 standard.

Formal Verification

Information on Formal Verification

  • July 20, 2018 - Brian Marick
  • Jan 29, 2018 - Bernard Mueller

Looking for other options?

Testing Tools

Solidity-Coverage - Alternative solidity code coverage tool.

hevm - Implementation of the EVM made specifically for unit testing and debugging smart contracts.

Whiteblock Genesis - An end-to-end development sandbox and testing platform for blockchain.

Looking for other options?

Block Explorers

Block explorers are services that let you browse the Ethereum blockchain (and its testnets), by finding information about specific transactions, blocks, contracts, and other on-chain activity.

Testnets and Faucets

The Ethereum community maintains multiple testnets. These are used by developers to test their applications under different conditions before deploying to the Ethereum mainnet.

Ropsten - Proof of Work blockchain, test-ether can be mined.

Rinkeby - Proof of Authority blockchain, maintained by the Geth development team.

Goerli - Cross-client Proof of Authority blockchain, built and maintained by the Goerli community

Clients & Running your own Node

The Ethereum network is made up of many nodes who run compatible client software, each of which can be configured in different ways according to your needs.

Clients

Geth - Ethereum clients written in Go.

OpenEthereum (formerly Parity) - Ethereum client written in Rust.

Hyperledger Besu - Ethereum client written in Java.

Nethermind - Ethereum client written in C# .NET Core.

Running your own node

ethnode - Run an Ethereum node (Geth or Parity) for local development.

Ethereum Node Resources

  • Jan 5, 2019 - Afri Schoeden
  • Oct 26, 2019 - Greg Jeanmart

Looking for other options?

Best Practices, Patterns, and Anti-patterns

Guides

  • Nov 10, 2019 - Yos Riady

Smart Contracts

DappSys - Safe, simple, flexible building-blocks for smart-contracts.

OpenZeppelin Contracts - Library for secure smart contract development.

aragonOS - Patterns for upgradeability & permission control.

Smart Contract Weakness Registry

Security

Smart Contract Security Best Practices Guide

Smart Contract Security Verification Standard (SCSVS)

Looking for other options?

Developer Support & Training

General Learning

Ethereum Stackexchange

ConsenSys Academy - An end-to-end Ethereum developer course that is self-paced and open year-round.

Solidity Gitter Chatroom

All Ethereum Gitter Chatrooms

Chainshot - Web based dapp coding tutorials.

Blockgeeks - Online courses on blockchain technology.

DappUniversity - Learn to build decentralized applications on the Ethereum blockchain.

B9lab Academy - Home of the oldest professional Ethereum dapp developer course & further learning for auditors and QA. Incl. mentoring and code review.

EatTheBlocks - Learn to build Ethereum Dapps & Solidity smart contracts with video tutorials

Game-Based Learning

Cryptozombies - Learn to code games on ethereum.

Ethernaut - Solidity based wargame where each level is a contract to be hacked.

Capture the Ether - The game of Ethereum smart contract security.

UI/UX Design

  • June 25, 2018 - Anna Rose
  • March 22, 2018 - Sarah Baker Mills

Rimble UI - Adaptable components and design standards for decentralized applications.

Standards

The Ethereum community has adopted many standards that are helpful to developers. Typically these are introduced as Ethereum Improvement Proposals (EIPs), which are discussed by community members through a standard process.

Certain EIPs relate to application-level standards (e.g. a standard smart-contract format), which are introduced as Ethereum Requests for Comment (ERC). Many ERCs are critical standards used widely across the Ethereum ecosystem.