> For the complete documentation index, see [llms.txt](https://skyneticlabs.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://skyneticlabs.gitbook.io/docs/services/testnet-networks/editor/data-availability-nodes/full-storage-node.md).

# Full Storage Node

### Setting up a full storage node <a href="#installation" id="installation"></a>

**Update packages and Install dependencies:**

```bash
sudo apt update && sudo apt upgrade -y
sudo apt install curl git wget htop tmux build-essential jq make gcc tar clang pkg-config libssl-dev ncdu -y
```

**Install GO:**

```bash
sudo rm -rf /usr/local/go
curl -Ls https://go.dev/dl/go1.24.6.linux-amd64.tar.gz | sudo tar -xzf - -C /usr/local
eval $(echo 'export PATH=$PATH:/usr/local/go/bin' | sudo tee /etc/profile.d/golang.sh)
eval $(echo 'export PATH=$PATH:$HOME/go/bin' | tee -a $HOME/.profile)
echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile
source $HOME/.bash_profile
go version
```

**Install Celestia-node:**

```bash
cd $HOME
rm -rf celestia-node
git clone https://github.com/celestiaorg/celestia-node.git
cd celestia-node/
git checkout tags/v0.30.2-mocha  
make build 
sudo make install 
make cel-key
```

**Create wallet:**

```bash
./cel-key add my_celes_key --keyring-backend test --node.type full --p2p.network mocha
```

**(Optional) Restore an existing cel\_key:**

```bash
cd ~/celestia-node
./cel-key add my_celes_key --keyring-backend test --node.type full --recover
```

**You can find the address by running the following command in the celestia-node directory:**

```bash
cd $HOME/celestia-node
./cel-key list --node.type full --keyring-backend test --p2p.network mocha
```

**Config and init app:**

```bash
celestia full init --core.ip <RPC_NODE_IP> --p2p.network mocha-4
```

**Create Service file:**

```bash
sudo tee /etc/systemd/system/celestia-full.service > /dev/null <<EOF
[Unit]
Description=celestia full
After=network-online.target

[Service]
User=$USER
ExecStart=$(which celestia) full start --archival \
--p2p.network mocha \
--metrics.tls=true --metrics --metrics.endpoint otel.mocha.celestia.observer
Restart=on-failure
RestartSec=3
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
EOF
```

**Enable and start service:**

```bash
sudo systemctl daemon-reload
sudo systemctl enable celestia-full
sudo systemctl restart celestia-full && sudo journalctl -u celestia-full -fo cat
```

**Get your node's peerId information:**

```bash
NODE_TYPE=full
AUTH_TOKEN=$(celestia $NODE_TYPE auth admin --p2p.network mocha)
```

**Then you can get the peerId of your node with the following curl command:**

```bash
curl -X POST \
     -H "Authorization: Bearer $AUTH_TOKEN" \
     -H 'Content-Type: application/json' \
     -d '{"jsonrpc":"2.0","id":0,"method":"p2p.Info","params":[]}' \
     http://localhost:26658
```

### Cheat sheet <a href="#cheat-sheet" id="cheat-sheet"></a>

**Check wallet balance:**

```bash
celestia state balance --node.store ~/.celestia-full-mocha-4/
```

**Get wallet address:**

```bash
cd $HOME/celestia-node
./cel-key list --node.type full --keyring-backend test  --p2p.network mocha
```

**Restore an existing cel\_key:**

```bash
KEY_NAME="my_celes_key"
cd ~/celestia-node
./cel-key add $KEY_NAME --keyring-backend test --node.type full  --recover --p2p.network mocha
```

**Check full node status:**

```bash
celestia header sync-state --node.store ~/.celestia-full-mocha-4/
```

**Get Node ID:**

```bash
celestia p2p info --node.store ~/.celestia-full-mocha-4/
```

**(Optional) Add permissions for transferring keys to another server:**

```bash
chmod -R 700 ~/.celestia-full-mocha-4
```

**Reset node:**

```bash
celestia full unsafe-reset-store --p2p.network mocha
```

### Delete Full Storage node <a href="#delete" id="delete"></a>

```bash
sudo systemctl stop celestia-full
sudo systemctl disable celestia-full
sudo rm /etc/systemd/system/celestia-full*
rm -rf $HOME/celestia-node $HOME/.celestia-app $HOME/.celestia-full-mocha-4
```
