What is a node?
Author: Domeny.ForSale editorial team Published
In brief: A node is an element of a network or structure that can connect to other elements. In computing, it can be a device on a network, a participant in a blockchain network or part of a web page document. In programming discussions, “Node” often means Node.js, a JavaScript runtime that operates outside the browser. You can identify the intended meaning by the context in which the word appears.
A node in a computer network
In a computer network, a node is an element that participates in communication: it sends, receives or forwards data. It might be a laptop, server, network printer or router. However, it does not necessarily mean a separate physical device—in some systems, a node is a virtual machine or a running process.
In a home network, a laptop and a printer are examples of end nodes, while a router connects networks and forwards traffic between them. The term “node” alone therefore does not tell you what function a device performs or how much computing power it has. It is a general name for its place within a given system.
You will encounter a similar meaning in cloud services and clusters. A cluster is a group of computing resources working together. For example, in Kubernetes, a system that manages applications running in containers, a node is a physical or virtual machine on which application workloads can run. The statement “the cluster has three nodes” does not mean that it supports only three websites or three applications.
Node.js: JavaScript outside the browser
Node.js is a runtime environment, meaning software that allows code to execute. It enables JavaScript to run outside the browser, for example on a server or locally on a developer’s computer. Node.js is neither a separate programming language nor a framework—a set of tools and rules for organising how applications are built.
Node.js can be used to create application servers, command-line tools and scripts that automate work, among other things. It also often powers APIs—interfaces through which programs exchange data. For example, an online shop might send a product availability query to a Node.js application, which reads the stock level from a database and returns a response.
Node.js is designed to handle input and output operations efficiently, such as network communication or reading data. This does not mean that it automatically speeds up every task. Long-running synchronous computations can block the handling of other tasks within a given process, so they require appropriate application design.
If a project’s instructions say “install Node”, they almost certainly mean Node.js. The terminal command node --version lets you check the available version, while node app.js runs the file app.js. Node.js is often used with npm, a package manager for installing libraries and running project scripts. Before installing it, check the project’s requirements and the information about supported versions in the official Node.js documentation.
A blockchain node is not always a miner
In a blockchain network, a node is a running instance of software that participates in exchanging data according to the rules of a given protocol. A blockchain is a data ledger organised into linked blocks, with copies maintained by network participants. Nodes can receive transactions and blocks, verify them and relay them onwards.
The precise role depends on the particular network and type of node. A full node independently verifies data according to the protocol’s rules, but it does not necessarily have to retain all historical data without limits. Nor should every node be equated with a miner or a validator involved in creating blocks.
Running a node does not guarantee payment. If you are considering such a project, first check the network’s official documentation for the node’s role, hardware requirements, disk space usage and bandwidth usage. Any rewards arise from specific functions and protocol rules, not from the mere use of the word “node”.
Nodes in data structures and on a web page
In data structures, a node means a single element of a larger whole. A node can store a value and references to other nodes. This is how trees, linked lists and graphs are described, among other structures used to represent hierarchies or relationships.
A simple example is a shop’s category tree: “Electronics” has the subcategory “Computers”, which in turn has “Laptops”. Each of these categories can be represented by a node. The connections show hierarchical relationships, not physical cables or communication between servers.
In the browser, you will encounter the DOM, or Document Object Model. It represents a page’s document as a tree of nodes that JavaScript can read and modify. A node can be an HTML element, text or a comment. That is why “node” and “element” are not always interchangeable: the text inside a paragraph is a node, but not a separate HTML element.
How can you identify the intended meaning?
The best clues are the surrounding words and the action you are supposed to take:
- “Install Node”,
npm,package.json—usually refers to Node.js and the tools used in a JavaScript project. - “Node address”, router, network connection—refers to a participant in a computer network.
- Cluster, Kubernetes, node resources—refers to a machine operating within a larger system.
- Blocks, transactions, chain synchronisation—refers to a node in a blockchain network.
- DOM, parent, child, text node—refers to a part of the document structure.
If a message says only “node unavailable”, check which program is displaying it. Installing Node.js will not fix an unavailable cluster node—first establish whether the message concerns a development environment, a machine or a network connection.
See also: What is AGI?
