Setting up your development environment

Building on Ethereum has been designed to be extremely easy for web designers to learn – with the languages being familiar enough for anyone with knowledge of JavaScript to pick up very quickly.

We have three pieces of software that every developer should download – Alethzero, Mist and Mix. Alethzero is a full GUI Client with advanced features like private chains, force mining and full webkit suite. Mist is the Dapp browser and mining client which users will access your Dapps in. Finally, Mix is a fully integrated development environment – purposely designed to build and debug contracts and their corresponding front ends.

Software requirements:

Getting your development environment setup should be fairly simple for anyone who has designed a web page before – we have three pieces of specialized software that you will need to download:

Firstly, download the latest stable binary of Alethzero, our C++ client, and install on your chosen operating system. If you experience problems with the stable build then you may wish to switch to the latest cutting edge version, which may ameliorate some of your issues. If you choose instead to build your own then build instructions are here.

Secondly, Install MIX our integrated development environment available for Windows and Mac here. If you are using Linux follow the instructions here to install mix also.

Finally, make sure you install Mist to test your Dapps and fine-tune your front-ends as you develop them.

Extras

A text editor or Mix can be used for creating the backend contract code which we are going to write, for serpent I suggest you set your editor to treat serpent contracts saved with the ‘.se’ suffix as python syntax and for solidity you should save your files with a ‘.sol’ suffix.

A live refresh solution is *not* recommended when working on your html front-end, as these have not been tested fully.

Setting up Alethzero

Our IDE Mix is currently under heavy development, and although many features are in place these tutorials will mostly focus on the deployment of contracts, and construction of frontends using our development client Alethzero. Alethzero has a built in compiler, javascript console, and tools for peeking into the blockchains state.

Unless stated otherwise the tutorials should be run on Alethzero using a private chain and without connecting to the network – deploying contracts to the test net should be reserved for contracts you want to share with others. When running alethzero in this mode it is possible to have others join your chain as long as they all use the same name and use ‘connect-to-peer’ to connect directly.