Ethereum Network

Activity on Ethereum Network

Blockchain nodes

The functioning of any blockchain network primarily depends on its nodes. Each node represents some kind of device – a server or a computer, in some cases, even a smartphone. Based on this, there are no strict restrictions on what physical, mechanical and energy parameters the nodes themselves should have. It all depends on what task one or another of them is intended to perform on the network.

Among the many blockchain nodes, RPC nodes can be distinguished. This type of node allows any application to interact directly with the network and is a very important tool for developers. However, there is one feature of traditional RPCs that limits its potential. We are talking about response speed, scalability, peak performance and other important characteristics of RPC nodes. And if we talk about the individual features of some projects of the companies, it becomes clear why many of them choose to support https://rpcfast.com/.

Mainnet, Testnets and private chains

To date, there are many software packages – clients that are written specifically for the Ethereum blockchain network. The most popular of them is still a client Geth or the software package written in the Go language. Before understanding what Geth is used for, it is necessary to remember that there is not one, but several Ethereum networks. First of all, this is the main network – Mainnet. Everyone can understand the information regarding the Mainnet by visiting the Ethereum main network explorer block – Etherscan. There you can learn in detail that the Mainnet is a kind of production environment in which concrete services operate, and where Ethereum has real value. However, there is one not very comfortable moment associated with the Mainnet employment. Using this main network during the development process, you will have to spend a considerable amount of money, which is not entirely the right approach. To avoid such situations, Ethereum developers created test networks – Testnets. Test networks also have their own explorer block, by logging into which you can make sure that testnets almost completely emulate the Mainnet. In testnets, just like in the Mainnet, their own nodes are installed, mining processes operate, etc. The only difference between the Testnet and the Mainnet is that ethers have no real value there, you can get them for free and then send transactions, deploy smart contracts, etc. In Testnets, just like in the Mainnet, synchronization of nodes is necessary, because, for example, in one Ethereum Testnet the number of real blocks can number several million, and new blocks will be constantly added.

Without a doubt, testnets are convenient for developers, but not for absolutely every development. For some of them, it is much more convenient to use private chains. This type of network implies the presence of a very limited number of nodes, down to just one node. Since all the processes inherent in the Mainnet occur very quickly in private chains, this brings many benefits to developers.

JASON-RPC API Solution

In order for the Ethereum blockchain network to be able to interact with nodes (clients) directly from applications, there is an interface for raising JASON-RPC inside the client (see ethereum.org). This solution is optimal for writing applications that need to interact with the blockchain, but it is more applicable in test mode. In order to implement such interaction on the main network, it is necessary to implement this through some kind of API. Recall that JASON-RPC is a network communication protocol that can run on top of http. JASON-RPC has its own specification, which describes the procedure for generating requests with requirements for formatting the request body, filling out the necessary fields, etc.

Requests may be different, but the main ones will certainly be requests to send transactions. The transactions themselves can be associated either with the transfer of funds from one account to another, or with the call or creation of a smart contract. Any of these transactions can be sent using the JASON-RPC API rather than manually, experimentally. One of the features of the Ethereum blockchain is that after the request body is formed and the transaction is sent to the network, a function such as the transaction hash is formed (read more). Using this hash, you can subsequently obtain a transaction receipt using the “getTransaactionReceipt” method. The transaction receipt will indicate the block hash, transaction hash, block number, where the transaction was included, how much gas was used, to whom the transaction was sent, transaction logs, etc.