ethereum / wiki

The Ethereum Wiki
https://www.ethereum.org
14.75k stars 2.56k forks source link

Clients page is outdated #684

Closed faraggi closed 4 years ago

faraggi commented 4 years ago

The page https://github.com/ethereum/wiki/wiki/Clients,-tools,-dapp-browsers,-wallets-and-other-projects is outdated and is an important landing page because its the top result in Google when searching for ethereum clients.

Here is a proposal for the page:

#### Contents
- [Ethereum Clients](#/ethereum-clients)
- [Other projects, tools, etc.](#/other-projects-tools-etc)

## Ethereum Clients
Ethereum clients run the Ethereum Virtual Machine. Some of those clients are:

### Official reference implementations (CLI)

There are currently three reference implementations available, as you already highlighted:

*   `Aleth` - C++ client: [https://github.com/ethereum/aleth](https://github.com/ethereum/aleth). (It was formerly known as `cpp-ethereum`: [https://github.com/ethereum/webthree-umbrella](https://github.com/ethereum/webthree-umbrella))
*   `Geth` - Golang client of the `go-ethereum` project: [https://github.com/ethereum/go-ethereum](https://github.com/ethereum/go-ethereum)
*   `Trinity` - Python client: [https://github.com/ethereum/trinity](https://github.com/ethereum/trinity)

### Third party implementations (CLI)

Non-official clients implementing the yellow paper specification are:

*   `EthereumJ` - Java client by the ether.camp team: [https://github.com/ethereum/ethereumj](https://github.com/ethereum/ethereumj)
*   `EthereumJS VM` - Javascript Ethereum Virtual Machine: [https://github.com/ethereumjs/ethereumjs-vm](https://github.com/ethereumjs/ethereumjs-vm)
*   `Hyperledger Besu` - Java client by Hyperledger: [https://github.com/hyperledger/besu](https://github.com/hyperledger/besu) (ex-Pantheon) 
*   `Mana` - Elixir by POA Network - [https://github.com/mana-ethereum/mana](https://github.com/mana-ethereum/mana)
*   `Minimal` - Go client by umbracle - [https://github.com/umbracle/minimal](https://github.com/umbracle/minimal)
*   `Nethermind` - C# / .NET by Nethermind
*   `Parity Ethereum` - Rust client by Parity Technologies : [https://www.parity.io/ethereum/](https://www.parity.io/ethereum/)

### Third party implementations (GUI)

Non-official clients with a graphical user interface are:

*   `Etherwall`, a Qt client like the good ol' bitcoin clients: [https://github.com/almindor/etherwall](https://github.com/almindor/etherwall)

### Deprecated or abandoned projects:

Official reference implementations (CLI):

*   `Pyethapp` - (`pyethapp has been deprecated`) Python client of the `pyethereum` project: [https://github.com/ethereum/pyethapp](https://github.com/ethereum/pyethapp)

Graphical clients:

*   `AlethZero` (`Alethzero has been deprecated`): [https://github.com/ethereum/alethzero](https://github.com/ethereum/alethzero)
*   `Mist Browser` (`Mist and Ethereum Wallet have been deprecated`): [https://github.com/ethereum/mist](https://github.com/ethereum/mist)

Third Party clients:

*   `ethereumH` - Haskell client from consensys, but it's not developed anymore: [https://github.com/jamshidh/ethereum-client-haskell](https://github.com/jamshidh/ethereum-client-haskell) (project has not been updated in a long time)
*   `node-blockchain-server` - simple Javascript server: [https://github.com/ethereumjs/node-blockchain-server](https://github.com/ethereumjs/node-blockchain-server) (project has not been updated in a long time)
*   `ruby-ethereum` - Ruby client: [https://github.com/janx/ruby-ethereum](https://github.com/janx/ruby-ethereum) (project has not been updated in a long time)

NOTE: all clients are listed in alphabetical order.

## Other projects, tools, etc.

*   [sharding](https://github.com/ethereum/wiki/wiki/Sharding-introduction-R&D-compendium)
*   [Casper Proof-of-Stake](https://github.com/ethereum/wiki/wiki/Casper-Proof-of-Stake-compendium)
*   [smart contract languages](https://github.com/ethereum/wiki/wiki/%C3%90App-Development):
    *   Solidity: [repo](https://github.com/ethereum/solidity), join the chat at [https://gitter.im/ethereum/solidity](https://gitter.im/ethereum/solidity), [docs](https://solidity.readthedocs.org/en/latest/), see the above link for more resources.
    *   Vyper: [repo](https://github.com/ethereum/vyper)
    *   LLL and other deprecated languages
*   [Mist](https://github.com/ethereum/mist), join the chat at [https://gitter.im/ethereum/mist](https://gitter.im/ethereum/mist), [issues](https://github.com/ethereum/mist/issues). Note that as of 31 May 2018, Mist isn't really user-ready yet, so until it has a stable release, using alternatives like [MyCrypto](https://www.mycrypto.com/) or [MyEtherWallet](https://www.myetherwallet.com/) is recommended instead, unless you're happy to be a beta tester.
*   web3 or JSON.RPC: [repo](https://github.com/ethereum/web3.js), [issues](https://github.com/ethereum/web3.js/issues)
*   Organization projects include:
    *   [https://github.com/ethereum](https://github.com/ethereum),
    *   [https://github.com/paritytech](https://github.com/paritytech), and
    *   [https://github.com/ethereumjs](https://github.com/ethereumjs).

More information here: https://ethereum.org/developers/#smart-contract-languages    

## More Information

For additional developer information, see [ethereum.org's Developer Portal](https://ethereum.org/developers/#getting-started).
faraggi commented 4 years ago

Most information sourced from this updated stackexchange Q/A: https://ethereum.stackexchange.com/questions/269/what-exactly-is-an-ethereum-client-and-what-clients-are-there/279#279

ChrisChinchilla commented 4 years ago

Thanks @faraggi updated!