The Ethereum client is categorized by language and is divided into different projects on GitHub, source code address: https://github.com/ethereum/, although the Ethereum client is numerous, but there are two common features:
1, the same language of the client on different platforms use is exactly the same
2, different languages of the client (mist, Geth, ETH, etc.) between the same platform (Linux, Windows or OSX) share the same application configuration, and its command line can use the same parameters.
The following is a breakdown of the purpose and characteristics of each client using the project on GitHub:
First, Go-ethereum project
Development language: Go language
Client Files: Geth
Interface: Command line
Applicable platforms: Windows, Linux, and OSX
Features and features: The project is the most widely used Ethereum client, most of the nodes are running the client, tutorials and examples are also the most, recommended, can be used for mining, the formation of private chain, manage accounts, deployment of smart contracts and other common functions, can not compile smart contracts.
Second, the Webthree-umbrella project
This project consists of 3 clients
Development language: C + +
Client files: Alethzero, mix, and ETH
Using platforms: Windows, Linux, and OSX
Interface: Graphical interface
Features and features: The project is strictly a shell of the Cpp-ethereum project, written by the former Cto,gavin Wood of the Ethereum Foundation, so the popularity is high and the usability is good. Alethzero is a graphical wallet client, which corresponds to the function of Geth, but is completely graphical. But with the introduction of the Graphic wallet mist, which was pushed by the Ethereum Foundation, is fading. Mix is the development of intelligent contract (Ethereum called Dapp) IDE, can support the Intelligent contract (DAPP) writing, debugging, deployment, full graphical interface, the most mainstream of the Ethereum Intelligent Contract development platform, very convenient, highly recommended. The ETH is a command-line client feature written in C + + and Geth.
third, Mist project
Development language: JavaScript
Client files: Mist (currently using the Ethereum-wallet name)
Using platforms: Windows, Linux, and OSX
Interface: Graphical interface
Features and features: The project is the main project of the Ethereum Foundation, Mist is not just a wallet, but the future of Dapp (application app for smart contracts) market, similar to the Apple market, where you can have your account, you can browse, publish and sell Ethereum Dapp applications. At present, because the development is not comprehensive, the name temporarily displayed as Ethereum-wallet, the role is very simple, is a wallet function. Strongly recommended for future mainstream clients.
Iv. Solidity Project
Development language: C + +
Client Files: Solc
Using platforms: Windows, Linux, and OSX
Interface: Command line interface
Features and features: The project is the Ethereum Smart Contract (DAPP) programming language, using SOLC as a compiler, the project is mainly used for compiling, strictly speaking is a basic compiler platform, general development can be used to replace the mix.
v. Browser-solidity Project
Development language: C + +
Client files: Display in browser
Using platforms: Windows, Linux, and OSX
Interface: Browser interface
Features and features: The project is a smart contract browser version of the development environment, can support in the browser directly development, debugging and compilation, for beginners, can quickly get started, do not need to install, very convenient, direct access to address use: https://ethereum.github.io/ browser-solidity/
Vi. Pyethereum Project and ETHEREUMJ project
The
Pyethereum project is an Ethereum client written in the Python language, and the ETHEREUMJ project is an Ethereum client written in the Java language, except that the language is different and the functionality of the client Geth written in the previous go language is exactly the same.
VII. Etheminer Project
Development language: C + +
Client files: Ethminer
Usage Platform: Windows, Linux, and OSX
Interface: Command line
Features and features: This project is part of the Cpp-ethereum project and is used for GPU mining with Geth, which is more than 100 times more efficient than CPU mining and can also be used for mine pool mining.