> For the complete documentation index, see [llms.txt](https://phoenix-7.gitbook.io/nodechain-en/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://phoenix-7.gitbook.io/nodechain-en/learn/infrastructure/nodes.md).

# Nodes

## Private nodes

NodeChain has the ability to initiate nodes on the blockchains it supports. Each node internally exposes its native JSON-RPC API to which the Wrapper APIs will make requests.

{% content-ref url="/pages/B0vRLWVhCEffnSPpdqeX" %}
[Supported APIs](/nodechain-en/learn/ecosystem/supported-apis.md)
{% endcontent-ref %}

Each node is built through Docker-compose, being the node the grouping of several docker-compose services. These services depend on the architecture of each blockchain.

To keep the native component of the project as much as possible, official images are used. In case there is no official image for the service, a Dockerfile will be implemented to download and build the image from an official site.

{% hint style="info" %}
Dockerfiles can be found at `./packages/<NAME_OF_SERVICE>`. In this folder, we can also find the `entrypoints` for each package.
{% endhint %}

The docker-composes infrastructure is divided into networks:

* **Regtest**: Network focused on local development. Allows full flexibility when interacting with the blockchain.
* **Testnet**: Blockchain test network
* **Mainnet**: Blockchain main network

{% hint style="info" %}
The Connector **must** be started to build any node
{% endhint %}

![Network architecture](https://802870645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ft23SW5b7x6tl4ZssSUUA%2Fuploads%2FLeQMe6unmBWOvic8TIe9%2FDiagrama%20de%20flujo%204%20AMPLIADO_Mesa%20de%20trabajo%201.png?alt=media\&token=770a7378-52fc-42c8-b366-17e41d1927c1)

## Remote nodes

There is a possibility that the administrator wants to connect to a public node through a URL. This is possible due to the architecture of the Connector and the startup script.

{% content-ref url="/pages/LVBpoO1dLK7DMlsP3rPQ" %}
[Connect to a public node](/nodechain-en/develop/how-to/connect-to-a-public-node.md)
{% endcontent-ref %}
