3.2 Choosing a Client

Introduction

Nodes and clients go hand in hand as clients are the software programs that run the node. From tracking transactions to creating new blocks, clients are the programs that run the node and ensure the network operates efficiently.

Learning Objectives

  • Understand the purpose of clients.

  • Be able to analyze pros and cons of a particular client.

  • Familiarize oneself with the 5 most popular clients and their program languages.

Reading List

Key Points

  • Multiple Clients-

    • There are a number of different clients to reduce network traffic and different client implementations allow users to participate in their preferred programming language. Despite certain clients running in different program languages the end goal of a unified beacon chain is achieved because each client follows a set of rules that dictate how the Ethereum network and blockchain functions.

  • Is there a superior client?

    • The short answer: not necessarily. Ultimately, the main factor in choosing a client is determined by which provides the greatest user efficiency. No client is superior in every metric. Some integral computational metrics to consider when choosing a client include disk, memory, and CPU usage.

Review Questions

  • Which of the big five clients runs in Java?