Knowledge Bases

The Ethereum ecosystem is a massive and talented open source community and has produced a pantheon of valuable developer resources over the past several years. With a platform like Kauri, the community is now even using the innovation of Ethereum itself to vet, curate, and store high-quality content. From in-person training to technical tutorials to research forums, the knowledge bases below offer a wide range of resources for developers of all levels.

  • ConsenSys Academy Feature

    ConsenSys Academy

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

  • Ethereum Research

    Ethereum Research

    A technical discussion forum about everything from Casper to sharding to state channels.

  • EthHub

    EthHub

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

  • Kauri

    Kauri

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

Infrastructure

Node infrastructure and instant access APIs make it easy for Ethereum developers to connect their applications to the blockchain. 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.

Node Infrastructure

  • featured infura

    Infura

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

Clients

  • Geth

    Geth

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

  • ParityLogo

    Parity

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

  • HyperledgerBesu

    Hyperledger Besu

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

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

  • dev portal superblocks

    Superblocks

    A web IDE with a built-in browser blockchain VM, Metamask integration (one-click deployments to Testnet/Mainnet), transaction logger, and live code for your WebApp.

  • dev portal visual studio code

    Visual Studio Code

    Visual Studio Code extension that adds support for Solidity.

  • dev portal remix

    Remix

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

  • dev portal atom logo

    Atom

    An open source and usable text editor.

Smart Contracts

If you want to develop on Ethereum, you need to know how to write smart contracts. Solidity, Ethereum’s main smart contract language, is easier to learn if you already possess a good understanding of Javascript. You’ve probably used programming libraries before, and the ones below 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. If you are creating a tool, product, or application on Ethereum, you’ll also 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.

Languages

  • dev portal vyper

    Vyper

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

  • dev portal solidity

    Solidity

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

Libraries

  • dev portal dappsys

    Dappsys

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

  • dev portal open zeppelin

    OpenZeppelin

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

Testing and Deployment

  • dev portal waffle

    Waffle

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

  • dev portal microsoft

    Microsoft Azure

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

  • dev portal truffle

    Truffle Suite

    The most popular smart contract development, testing, and deployment framework. The Truffle suite includes Truffle, Ganache, and Drizzle.

  • dev portal embark

    Embark

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

Security

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.

  • dev portal manticore

    Manticore

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

  • dev portal oyente

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

  • dev portal mythx

    MythX

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

Testnets

Public testnets on Ethereum offer a way for developers to test what they build without putting their creations on the main Ethereum network. You can obtain as much ETH as you want on testnets because testnet ETH doesn’t carry any monetary value. 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. Below are the most used testnets to start testing on and links for requesting testnet ETH.

Public Testnets

  • dev portal kovan

    Kovan

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

  • dev portal gorli

    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.

  • dev portal ropsten

    Ropsten

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

  • dev portal rinkeby

    Rinkeby

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

Local Testnets

  • dev portal ganache cli

    Ganache CLI

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

  • dev portal ganache

    Ganache

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

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. If you’re interested in doing backend/protocol work on Ethereum, you should have significant experience with Go, Rust, Java, .NET, Ruby, or Python.

Front-End Interfaces

  • dev portal drizzle

    Drizzle

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

  • dev portal ethers js

    Ethers.js

    Ethereum wallet implementation and utilities in JavaScript.

  • dev portal 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.

Backend Interfaces

  • dev portal web3j

    Web3j 

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

  • dev portal nethereum

    Nethereum 

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

  • dev portal web3py

    Web3.py

    A Python implementation of Web3.js.

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.