Resources

What you need to be successful

Developmental Materials

In order to successfully develop blockchain software, there are a variety of softwares that you'll need in order to get the your code set up, compiled, and deployed. Below are a list of basic materials needed to develop software and successfully participate in our workshops.

Prerequisites

These are the fundemental resources that absolutely needed to start developing. Make sure you have the following installed to start coding.

Node.js - Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient.

Node Package Manager (NPM) - NPM is the package manager for JavaScript and it's also the world’s largest software registry. Discover packages of reusable code and assemble them in powerful new ways.

Solidity Documentation - This is the documentation released by the Ethereum organization for the solidity language.

Miscellaneous Resources

These are other resources, that are either used in more advanced projects or not necessary for development

Truffle Boxes - Truffle Boxes are helpful boilerplates that allow you to focus on what makes your dapp unique. In addition to Truffle, Truffle Boxes can contain other helpful modules, Solidity contracts and libraries, front-end views and more - all the way up to complete example dapps.

AssethBox - This is an Ubuntu virtual machine provided by Asseth that comes with Ethereum development tools preloaded. You'll need to have Virtual Box installed in order to run it. It's also recommended that you update most of the development tools after installing.

Ethstats - Realtime stats regarding network health and mining based on data offered by miners who have opted-in.

Myetherwallet - Webservice offering the ability to create and broadcast transactions as well as deploying contracts without running a node.

Learning Materials

There are numerous resources out there for you to learn Ethereum development. Here are the helpful ones we found.

Basic Concepts

These are the fundemental concepts that will understand ethereum programming and blockchain technology