Ethereum Developer Portal

Everything you need to get started building on Ethereum. 

ethereum-stack

 

What is the Ethereum Developer Portal?

It's a place to get started and find the tools you need to develop and build applications on Ethereum. 

Table of Contents

 


 

Are You a New Developer to the Ethereum Ecosystem?

Below is a mix of the main infrastructure tools and knowledge centers that will teach you how to build software on Ethereum. We recommend taking a look through the portal and reading about all the developer tools and options before getting started.

infura

Infura

A scalable, standards-based, globally distributed cluster and API endpoint for Ethereum, IPFS, and other infrastructures.

truffle

Truffle

A development environment, testing framework, and asset pipeline for blockchains using the Ethereum Virtual Machine (EVM).

consensys-logo

ConsenSys Academy

Academy provides an end-to-end Ethereum developer course that is self-paced and open year-round.  Sign up now! 

kauri

Kauri

Learn to build on Ethereum by reading all the latest articles, tutorials, documentation and best practices.

 

liquality-logo

Liquality

Cross-chain Atomic Swaps between Bitcoin and Ethereum. Convert ETH to BTC (and vice versa) with minimal risk and fees, while maintaining control over your private keys.

 

 

ethhub.io Logo

EthHub

Crowdsourced resources for individuals seeking to learn, listen, or read about Ethereum. 

 

Rhombus logo

Rhombus

Connect your smart contract with real-world data. Your smart contract is going to need real-world data and it's tricky to set up a data pipeline. Try Rhombus today.

metamask-png-transparent-logo

MetaMask

The most used chrome extension wallet and Web 3 provider that allows users to interact with decentralized applications.

Smart Contract Languages 

If you're developing on Ethereum, you're going to need to know how to write smart contracts. Luckily there are not too many different languages that you need to know. Solidity the main smart contract language is easier to learn if you already possess a good understanding of Javascript.

solidity

Solidity

An object-oriented, high-level language for implementing smart contracts. 

 

ezgif.com-gif-maker

Vyper

A pythonic programming language for implementing smart contracts. Vyper is also currently beta software. 

 

 

IDEs/Editors

IDE stands for Integrated Development Environment. IDEs and Editors are what you need to write and test software. They are software suites that consolidate basic tools that are required to start writing on Ethereum. Below are the most popular IDEs and Editors. 

Atom_editor_logo

Atom 

An open source and usable text editor. 

 

remix

Remix 

A suite of tools to interact with the Ethereum blockchain in order to debug transactions. 

 

ETHEREUM-ICON_Black_small

Visual Studio Code

Visual Studio Code extension that adds support for Solidity. 

 

 

 

 

Public Testnets 

Public Testnets on Ethereum offer a way for developers to test what they build without putting their creations on the main Ethereum network. Developers are able to obtain as much ETH as you want on testnets because testnet ETH doesn't carry any monetary value. Below are the most used testnets to start testing on and the links for where you can request testnet ETH. 

Ropsten

Ropsten

A proof-of-work blockchain that most closely resembles Ethereum and allows you to easily mine faux-Ether.

 

Görli

Görli 

Proof-of-authority cross-client testnet, synching Parity Ethereum, Geth, Nethermind, Pantheon, and EthereumJS. This testnet is a community-based project, completely open-source.

 

kovan

Kovan

A proof-of-authority blockchain started by the Parity team. Test ether must be requested.

 

 

Rinkeby

Rinkeby 

A proof-of-authority blockchain started by the Geth team. Test ether must be requested.

 

 

 

Local Testnets

Similar to Public Testnets, Local Testnets are a place for you to test your software without pushing it public. Unlike Public Testnets, the Local Testnet software will only run on your computer/node and other users won't be able to see it or interact with it. 

G Truffle

Ganache 

Ganache is a personal blockchain for Ethereum development that developers can use to deploy contracts, develop applications, and run tests.

 

ganache-cli-128x128

Ganache CLI 

Fast Ethereum RPC client for testing and development. The command line version of Ganache, your personal blockchain for Ethereum development.

 

 

 

Front–End Interfaces

If you want to start developing dapps, you'll need front-end development skills. Below are the most popular front-end interfaces that will help you turn your dapp from an idea to a live Ethereum mainnet application. 

web3js

Web3.js

An Ethereum JavaScript API which connects to the Generic JSON RPC specification. A local or remote Ethereum node must be run to use this library. 

 

ethers(dot)js

Ethers.js

Ethereum wallet implementation and utilities in JavaScript. 

 

 

 

drizzle truffle

Drizzle

A collection of front-end libraries that make writing decentralized application  frontends easier and more predictable. Drizzle provides a Redux library to connect a frontend to a blockchain. 

 

 

Backend Interfaces

If you want to graduate from just building dapps, you'll need to start learning and using the backend interfaces listed below. If you’re interested in doing backend/protocol work on Ethereum, you should have significant experience with Go, Rust, Java, .NET, Ruby, or Python. Explore some of the most frequently used backend interfaces below. 

python logo

 

Web3.py

A Python implementation of Web3.js. 

 

Nethereum Logo-1

Nethereum

A .NET integration library for Ethereum allowing users to interact with Ethereum clients like Geth or Parity using RPC.

 

web3j logo

Web3j 

A lightweight Java and Android library for integration with Ethereum clients. 

 

 

Smart Contract Library

You've probably used programming libraries before, and these are no different. A smart contract library is the reusable piece of code for a smart contract which is deployed once and shared many times. Below are the most used smart contract libraries.

open zepplin

OpenZeppelin

A library that provides implementations of standards like ERC20 and ERC721 as well as Solidity components to build custom contracts. 

 

 

dapphub

Dappsys

A collection of building blocks for building smart contract systems written in Solidity. 

 

 

Smart Contract Testing and Deployment 

If you are creating a tool, product, or application on Ethereum, you'll want to make sure your smart contract is in working order before deploying to the mainnet. These tools will help you build, test, and ship your code. 

truffle

Truffle Suite

The most popular smart contract development, testing, and deployment framework. The Truffle suite includes Truffle, Ganache, and Drizzle. Read a deep dive on Truffle.

 

 

waffle-1

Waffle 

Waffle is a library for writing and testing smart contracts. Waffle is based on ethers.js. 

 

embark best

Embark

A framework that allows you to easily develop and deploy decentralized applications. Currently integrates with EVM blockchains (Ethereum), IPFS, Swarm, Whisper, and Orbit. 

 

 

Ethereum Clients

An Ethereum client refers to any node that is able to parse and verify the blockchain, its smart contracts, and everything in between. An Ethereum client also provides interfaces to create transactions and mine blocks which is the key for any Ethereum transaction. Below are the most popular Ethereum clients.

pegasys logo-2

 

PegaSys Pantheon

Pantheon is an open-source Ethereum client developed under the Apache 2.0 license and written in Java.

 

 

 

parity

Parity

An Ethereum client developed by Parity Technologies using the Rust programming language. 

 

 

 

gopher logo

Geth

A command line interface for running a full Ethereum node implemented in Go. 

 

 

 

 

Storage

Ethereum allows you to save variables or data in permanent storage. The storage platforms below are where all of the smart contract data lives. IPFS is the most commonly used storage system on Ethereum. Explore the platforms below to learn more about how storage on Ethereum works. 

IPFS

 

IPFS 

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

 

swarm logo

Swarm

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

 

 

 

Orbit

 

OrbitDB

A decentralized peer to peer database on top of IPFS. 

 

 

Security Tools

Ok, so you've finally built your dapp or smart contract. But how do you know it was set up correctly and is safe from hackers? The security tools below will help ensure that your code is safe and follows all Ethereum development best practices. 

mythx

MythX

A security analysis API for Ethereum smart contracts. MythX powers tools that bring security into the smart contract software development life cycle.

 

 

 

Oyente just logo

Oyente

An analysis tool for smart contracts. Oyente utilizes a symbolic execution tool that works directly with EVM byte code without access to the high level representation (e.g Solidity).

 

manticore

 Manticore

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

 

The Future of Work

Now that you know the tools you need, it's time to get started. The way developers work is changing especially in the blockchain industry. The following places offer freelance developer work or new opportunities to get paid contributing to open source projects. Find out how you can start contributing to projects and get paid for it! 

Gitcion 2

Gitcoin 

Get paid in crypto for freelance jobs, building features, and solving bug bounties! Work with top open source projects and get paid out fast. 

Bounties Network

Bounties Network

The Bounties Network lets you create projects, collaborate, and get paid for doing great work in any domain.

 

 

The London Office Launch Has Arrived

Enterprise Blockchain Tools

If you want to get a job as a developer or bring blockchain implementations to your company, you may need to become proficient with some enterprise blockchains and tools. Below are some great enterprise tools that make setting up a blockchain quick and easy. 

Kaleido-Logo-Horizontal-Primary new

Kaleido

Kaleido, The Blockchain Business Cloud is the leading full-stack blockchain platform with a plug and play marketplace that simplifies and accelerates the entire enterprise journey—from PoC to live production. 

 

 

Microsoft dev portal

 Microsoft

Microsoft's Azure blockchain development kit simplifies how you create, connect to, build and deploy smart contracts on Ethereum ledgers.

 

 

Data Querying

Blockchains store data in ways most apps find difficult to access. The following data query layer API's will enable you to obtain the data you need for your project or application. 

Alethio white

Alethio

Alethio's API gives you a robust and reliable way to query synthesized, indexed Ethereum data in real-time via a JSON:API compliant REST interface.

 

Etherscan (1)

Etherscan

Etherscan provides Ethereum blockchain APIs as a community service and without warranty. 

 

The future belongs to those who #buidl 

Joseph Lubin

Co-Founder of Ethereum + Founder of ConsenSys

JoeL pic

Want More?

Plug into the decentralized future. Join our newsletter.

 

Join Now