# Node operators

## Node configuration

### Prerequisites

Below is a list of standard requirements for running nodes on the DeepSafe chain:

1. **Operating system:** \
   Ubuntu 18.04 or Linux Kernel 5.16.
2. **Hardware:**&#x20;
   * CPU: 4 Cores
   * Memory: 16GB RAM
   * Storage: 1TB SSD/HHD
   * Network: At least 20Mb bandwidth with an independent IP address

## Node initialization

### Download binaries

{% hint style="warning" %}
Compiling from binaries is temporarily unsupported since the network is not open-source at the Testnet stage.&#x20;
{% endhint %}

### Using Docker

**Docker** is the only avaliable way to operate nodes on Bool chain at the alpha testnet stage. Developers can quickly run nodes through the images posted by Bool team via the following command:

```shell
docker run -p 30333:30333 boolnetwork/bnk-node:alpha-testnet --validator --chain=alpha_testnet --name <name on telemetry>
```

If you prefer to run in the backstage, please add `-d` on docker command.

If you prefer to persist the node's  data on the host machine, please add`-v ./data:/data` on docker command.

If you intend to run an RPC service that is exteranlly accessibe for applications or third-party applicaitions, such as Polkadot.js, please add following flags to run a full node:&#x20;

* `--unsafe-rpc-external`: Listen to all RPC interfaces.
* `--unsafe-ws-external`: Listen to all Websocket interfaces.

More details can be found be executing the following command:

```shell
docker run --rm boolnetwork/bnk-node:alpha-testnet --help
```

## Examples

### Node initialization

```
2024-01-30 08:08:26 BoolNetwork Node    
2024-01-30 08:08:26 ✌️  version 0.10.0-f53ea677650    
2024-01-30 08:08:26 ❤️  by BoolNetwork, 2022-2024    
2024-01-30 08:08:26 📋 Chain specification: BoolNetwork Alpha Testnet    
2024-01-30 08:08:26 🏷  Node name: grandiose-voyage-2878    
2024-01-30 08:08:26 👤 Role: AUTHORITY    
2024-01-30 08:08:26 💾 Database: RocksDb at /bool/.local/share/bnk-node/chains/boolnetwork_alpha_testnet/db/full    
2024-01-30 08:08:26 ⛓  Native runtime: moonbase-194 (moonbase-2.tx1.au2)    
2024-01-30 08:08:31 🔨 Initializing Genesis block/state (state: 0x5e9c…3f30, header-hash: 0x1808…0b78)    
2024-01-30 08:08:31 👴 Loading GRANDPA authority set from genesis on what appears to be first startup.    
2024-01-30 08:08:36 👶 Creating empty BABE epoch changes on what appears to be first startup.    
2024-01-30 08:08:36 🏷  Local node identity is: 12D3KooWFBrtXis73pD5aVbmyRNAGzCKaZ3q9VZFHgPmL3RNDEyH  
```

### Node sync

```
2024-01-30 08:09:06 No device mining and no deposit    
2024-01-30 08:09:06 ⚙️  Syncing 262.4 bps, target=#146111 (3 peers), best: #8016 (0x6811…5d1c), finalized #7788 (0x883a…fe33), ⬇ 82.6kiB/s ⬆ 0.9kiB/s    
2024-01-30 08:09:06 [8188] 💸 generated 3 npos voters, 3 from validators and 0 nominators    
2024-01-30 08:09:06 [8188] 💸 generated 3 npos targets    
2024-01-30 08:09:06 [8188] 💸 new validator set of size 3 has been processed for era 14    
2024-01-30 08:09:09 [8788] 💸 generated 3 npos voters, 3 from validators and 0 nominators    
2024-01-30 08:09:09 [8788] 💸 generated 3 npos targets    
2024-01-30 08:09:09 [8788] 💸 new validator set of size 3 has been processed for era 15    
2024-01-30 08:09:10 No device mining and no deposit    
2024-01-30 08:09:11 ⚙️  Syncing 233.9 bps, target=#146112 (3 peers), best: #9186 (0x5d6c…2de1), finalized #8988 (0xa05e…64df), ⬇ 71.5kiB/s ⬆ 1.2kiB/s    
2024-01-30 08:09:11 [9388] 💸 generated 3 npos voters, 3 from validators and 0 nominators    
2024-01-30 08:09:11 [9388] 💸 generated 3 npos targets    
2024-01-30 08:09:11 [9388] 💸 new validator set of size 3 has been processed for era 16    
2024-01-30 08:09:14 [9988] 💸 generated 3 npos voters, 3 from validators and 0 nominators    
2024-01-30 08:09:14 [9988] 💸 generated 3 npos targets    
2024-01-30 08:09:14 [9988] 💸 new validator set of size 3 has been processed for era 17    
2024-01-30 08:09:14 No device mining and no deposit    
2024-01-30 08:09:16 ⚙️  Syncing 268.2 bps, target=#146114 (3 peers), best: #10527 (0x31ca…9b7d), finalized #10240 (0xf654…d810), ⬇ 82.8kiB/s ⬆ 1.1kiB/s    
2024-01-30 08:09:16 [10588] 💸 generated 3 npos voters, 3 from validators and 0 nominators    
```

## FAQ

#### Why are nodes out of sync?

If the number of peers on your node is unstable and occasionally reaches 0, causing normal synchronization, try adding port mapping on your router to your public IP: 30333-> node's internal IP: 30333, and Set the firewall to allow port 30333 to connect.

<br>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.deepsafe.network/develop-guide/testnet/deepsafe-chain/node-operators.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
