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.
- Text Editor/IDE -
- Solidity Compiler - The Ethereum organization describes various ways to compile solidity programs.
- Metamask - This is a chrome extension that allows users to transact/interact with the Ethereum blockchain via a simple plugin.
- Testrpc/Ganache-cli - This is an Ethereum client for testing and development; uses ethereum.js to simulate full client behavior.
- Truffle Framework - Makes deployment, testing, and management of contracts and applications significantly easier when using localhost/testing tools.
- Solidity Documentation - This is the documentation released by the Ethereum organization for the solidity language.
- 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.
- Zeppelin - This offers boilerplate contracts focused on delivering security via library use
- 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.
There are numerous resources out there for you to learn Ethereum development. Here are the helpful ones we found.
- Blockchain - A succinct but extensive introduction to Blockchain
- Ethereum 101 - Learning material provided by the Ethereum organization covering a breadth of concepts in the blockchain industry
- An introduction to Ethereum - An article created by one of CoinBase's co-founders; it gets to the point of what makes Ethereum important
- CryptoZombies.io - A great introduction to Ethereum development that doesn't require a compiler or the aforementioned software: it's all online
- What's Solidity? - A YouTube series that covers the basics of Ethereum development
- Ethereum Udemy Course - A highly-rated online course that extensively covers development in Ethereum, covering everything from the fundementals to advanced concepts