Ethereum Clients

Learn about the role of nodes and clients in Ethereum.

So far, we've primarily focused on how to write Solidity code, but now we'll take a deeper look into how Ethereum works. In this chapter, we'll first learn how to interact with an Ethereum network programmatically, how to write code that can deploy contracts, call methods on them, get information about the network, and more. This will allow us to write applications that are built on top of the Ethereum network, which is an important skill to have for anyone who wants to become a proficient Ethereum developer.

We'll then put theory into practice and write two scripts in JavaScript: one to programmatically deploy the NameService smart contract we created in the previous chapter and the other to send transactions and call methods on the deployed smart contract. We'll also cover some other topics we'll need along the way, for example, how to use the Solidity compiler.

Nodes and clients

Before we look into how to interact with an Ethereum network, we need to learn more about how it's organized and some of its terminology that we'll use throughout the course.

To interact with an Ethereum network, e.g., to send a transaction or deploy a smart contract, we need to send an API request to one of the Ethereum nodes. An Ethereum node is any computer that runs an Ethereum client, which is another word for Ethereum software. All operations with a network are done through this API, such as deploying contracts and calling methods.

An Ethereum network is essentially a web of interconnected Ethereum clients that are accepting transactions, propagating transactions to their peers, and validating and propagating new blocks. Each Ethereum node stores a state of the network, but a node state can be different from the network state in other nodes if it hasn't downloaded recent blocks yet.

Create a free account to view this lesson.

Continue your learning journey with a 14-day free trial.

By signing up, you agree to Educative's Terms of Service and Privacy Policy