Clients
What are nodes and clients?
The Ethereum documentation (opens in a new tab) refers to a node as "a running piece of client software.", where a client is then an implementation of the blockchain network. From the ICON glossary (opens in a new tab), a node is defined for this network as follows:
Computational service running in support of the ICON network that can either be an API Endpoint or a Delegate / Validator
Goloop is the officially supported client for the ICON blockchain. You can learn more about it in the linked documentation subsection under the computational utilities section.
Node types
Due to the delegated nature of the ICON network, there are currently two different types of nodes: API Endpoints and Validators.
API Endpoints
- Stores full blockchain state
- Read capabilities
- Provides data to users
Validators
- Stores full blockchain state
- Read / write capabilities
- Provides data to API Endpoints and other validators
Why should I run an ICON node?
By running a node, you will be able to privately and trustlessly access the ICON network. Additionally, you will be supporting the ecosystem. Running a node helps to create diversity and increase computational bandwidth for the ICON ecosystem. This helps to prevent network attacks by malicious nodes and users.
There are financial benefits to running a Validator node if you are voted in as a Delegate. This is elaborated upon in the section on Rewards & Penalties.