> For the complete documentation index, see [llms.txt](https://docs.firmachain.org/master/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.firmachain.org/master/node-and-validators-guide/run-a-full-node/specification.md).

# Specification

This document provides the minimum hardware specifications and service port information required in order to join the FirmaChain network.

## Hardware requirements

Following are the required hardware specifications to run FirmaChain.

* Disk storage
* CPU & RAM
* PORT
* Increase maximum open files

Details of the respective specifications and information are provided below.

### Disk storage

Disk space depends on the [pruning strategy](https://hub.cosmos.network/main/hub-tutorials/join-mainnet.html#pruning-of-state) of your choice.

There are four strategies for pruning state. These strategies apply only to state and do not apply to block storage. To set pruning, adjust the `pruning` parameter in the `~/.firmachain/config/app.toml` file. The following pruning state settings are available:

1. `everything`: Prune all saved states other than the current state.
2. `nothing`: Save all states and delete nothing.
3. `default`: Save the last 100 states and the state of every 10,000th block.
4. `custom`: Specify pruning settings with the `pruning-keep-recent`, `pruning-keep-every`, and `pruning-interval` parameters.

<table><thead><tr><th width="228.33333333333331">Pruning strategy	</th><th>Minimum disk space</th><th>Recommended disk space</th></tr></thead><tbody><tr><td>everything</td><td>20 GB</td><td>40 GB</td></tr><tr><td>default</td><td>80 GB</td><td>120 GB</td></tr><tr><td>nothing</td><td>120 GB</td><td>> 240 GB</td></tr></tbody></table>

By default, every node is in `default` mode which is the recommended setting for most environments.

### CPU & RAM

Apart from disk space, the following requirements should be met.

| Minimum CPU cores | Recommended CPU cores |
| ----------------- | --------------------- |
| 2                 | 4                     |

| Minimum RAM | Recommended RAM |
| ----------- | --------------- |
| 4 GB        | 8 GB            |

### Service ports

Required Ports to Open:

* `26656` : Listen for incoming peer connections.

Additional Optional Ports:

* `22` : Port for SSH access.
* `1317` : Address of REST/API endpoint of the chain.
* `26657` : Address of RPC endpoint of the chain.

### Increase maximum open files

In general, most operating systems limit the maximum number of files that can be opened.\
(The document was written based on `Ubuntu 20.04 LTS`, and the default value of this OS is 1024.)\
However, if you open `/etc/security/limits.conf` and modify the value as can be seen in the code below, you can raise the limit of the nofile feature

```
*                soft    nofile          65535
*                hard    nofile          65535
```
