- An Ethereum client may be a software application that implements the Ethereum specification.
- Ethereum is defined by a proper specification called the “Yellow paper”.
- Different Ethereum clients inter operate if they suits the reference specification and therefore the standardized communications protocols.
- This yellow paper, additionally to varied Ethereum Improvement Proposals (EIP), defines the quality behavior of an Ethereum client.
- The yellow paper is periodically updated as major changes are made to Ethereum.
Benefits of specification Vs Implementation
- Built on specification proven itself to be a superb way of defending against attacks on the network,because exploitation of a specific client’s implementation strategy simply hassles the developers while they patch the exploit,while other clients keep the network running almost unaffected.
- Currently, there are six main implementations of the Ethereum protocol, written in six different languages:
- Parity, written in Rust
- Geth, written in Go
- Cpp ethereum, written in C++
- Pyethereum, written in Python
- Mantis, written in Scala
- Harmony, written in Java
Should I run full node?
- For ethereum development a full node running on a live mainnet network isn’t necessary. you’ll do almost everything you would like to try to to with
- A test net node
- Local private blockchain like Ganache,
- Cloud-based Ethereum client offered by a service provider like Infura.
- DApps an internet application that’s built on top of open, decentralized, peer-to-peer infrastructure services.
- A DApps consists of at least:
- smart contracts on a blockchain
- an internet fronted user infterface
- additionally , many DApps include other decentralized components, such as;
- A decentralized (P2P) storage protocol and platform
- A decentralized (P2P) messaging protocol and platform.