Choosing a client

Why are there multiple Ethereum clients?

From the earliest days of the project there have been multiple client implementations across a range of different operating systems. That client diversity is a huge win for the ecosystem as a whole. It lets us verify that the protocol (specified in the Yellow Paper) is unambiguous. It keeps the door open for new innovation. It keeps us all honest. However, it can be very confusing for end-users, because there is no universal “Ethereum Installer” for them to use.

What should I install on my desktop/laptop?

The Ethereum Wallet is a “single dapp” deployment of the Mist Browser which will be the centerpiece of the Metropolis phase of development, which comes after Homestead.

Mist comes with bundled go-ethereum and cpp-ethereum binaries and if you are not running a command-line Ethereum client when Mist starts then it will start syncing the blockchain using one of the bundled clients (defaulting to geth). If you want to use Parity with Mist, or to run Mist against a private network, just start your node before Mist, and Mist will connect to your node rather than starting one itself.

Work is underway to add Parity and other clients as “first-class entities” to Mist too.

If you want to interact with Ethereum on the command-line, and to take advantage of the Javascript console then you will want to install one of the client applications directly, as well as Mist. Follow the links in the table above for further instructions.

If you want to do mining then Mist will not be sufficient. Check out the Mining section.

What should I install on my mobile/tablet?

We are at the very beginning of our support for mobile devices. The Go team are publishing experimental iOS and Android libraries, which some developers are using to start bootstrapping mobile applications, but there are not yet any mobile Ethereum clients available.

The main hinderance to the use of Ethereum on mobile devices is that the Light Client support is still incomplete. The work which has been done is off in a private branch, and is only available for the Go client. doublethinkco will be starting development of Light Client for the C++ client in the coming months, following grant funding.

What should I install on my SBC?

If you are new to Ethereum AND SBC boards such as the Raspberry Pi then this is for you! Simply download the image specific to the dev board you are working with, burn it to an SD card, boot your device, and run Ethereum!

If you already have an SBC running and have a specific, preferred OS or setup that you want to keep, then this is your best option! Depending on the platform, you can simply download the apropriate executable, and with minimal linking of libraries and setting of PATH you can have Ethereum running in your existing environment!

Looking to perform a custom install? We have scripts available to compile from source “on device”. Our scripts contain auto-install of dependencies as well as the client itself. This will allow you to install a specific version of the Ethereum client(i.e.-“develop”, “master”, etc.), compile your own forked version of a client, and generally play around with the intracacies of the build process.