Ethereum Development
Developing with Ethereum requires a suite of new tools. This guide is a walkthrough of the developer tools available. 

For those who are new to ethereum, check out this link to learn the basics.

There are a few main steps to successfully build and interact with the ethereum network.

Development Frameworks

  • Truffle Truffle is a development framework for Ethereum which makes it easy to deploy contracts to both public and private networks. Truffle provides a lot of additional development tools making it a good starting point for any decentralized application.

Connecting to Ethereum

To talk with the network, applications must connect through a node. There are multiple options to choose from.
  • Infura Provides an easy to use API for developers to connect to the Ethereum network and IPFS.
  • Parity A secure method to connect to the Ethereum network to develop smart contracts and decentralized applications
  • Ganache Quickly fire up a personal Ethereum network to run tests, execute commands and inspect state.
  • Geth A CLI tool for running a full Ethereum node in Go.

Writing Smart Contracts

Programmable smart contracts can be created on the network to run a wide variety of applications/services.
  • Solidity - A high level language designed for implementing smart contracts on the Ethereum network
  • Viper - An experimental programming language written in Python for writing smart contracts
  • Remix - An online solidity code editor. Can compile and create contracts on the Ethereum network directly from the editor. 

Connecting Web Apps

Web apps need a way to connect with a node and with smart contracts.
  • Web3 - A javascript API to allow decentralized applications to talk with a node. Maintained and managed by the core Ethereum project.
  • Ethers - Complete Ethereum wallet implementation and utilities in JavaScript. A powerful library that abstracts away from some of the complexity in blockchain development.

Signing Transactions 

End users need a way to call and sign transactions
  • Metamask - A browser extension that makes it easy for users to interact and sign transactions for decentralized applications.
  • uPort  - A self sovereign identity platform. Can be used to securely collect information about our identity and sign transactions for applications that support it.