> For the complete documentation index, see [llms.txt](https://quanta.gitbook.io/documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://quanta.gitbook.io/documentation/getting-started/quanta-node.md).

# Running Quanta Node

Ensure you have downloaded the source code & compile or install our pre-built binaries

Running Listening Node

```
mkdir data/testnet
quanta-node --data-dir data/testnet --seed-nodes "[testnet-02.quantachain.io:4600]"
```

Configuring your Node

Inside data/testnet/config.ini, you'll find a number of configurations to set.  You'll need to set the the rpc\_endpoint which opens a websocket port to connect your wallet to.

```
rpc-endpoint = 127.0.0.1:8090
```

Automatic startup/shutdown Script

**Systemd**:

```
nano /etc/systemd/system/bitshares.service 
[Unit]
Description=swamp services management service

[Service]
ExecStart=/home/ec2-user/witness_node --data-dir /home/ec2-user/bitshares_testnet --replay-blockchain

[Install]
WantedBy=multi-user.target

systemctl daemon-reload
systemctl enable bitshares.service 
systemctl start bitshares.service 
```

### Upgrading Node

Save this script as deploy.sh

chmod +x deploy.sh

```
#!/bin/sh

if [ -z "$1" ]
  then
    echo "No version provided"
    exit
fi

service bitshares stop
wget -O witness_node.gz https://github.com/quantadex/quanta-core/releases/download/$1/witness_node.linux.amd64.gz
mv -f  witness_node witness_node.bak
gunzip witness_node.gz
chmod +x witness_node
service bitshares start
```

You can find the available versions from our github [releases](https://github.com/quantadex/quanta-core/releases).

```
./deploy.sh 1.83-mainnet
```

This script automatically stops your node, fetch new binary, restart it.T

### Troubleshooting

Sometimes you may have received blocks that you processed with an older version of the witness\_node. In those situations you have to replay the blockchain (eg. replay the block stored on your machine).  Other times, this will not work, and you have resync the entire blockchain from the network.

Make sure your systemd configuration have --replay-blockchain. This ensures that when you restart the service, it will do it.

To resync, you can delete the **data/blockchain** directory that stores the blocks. Then start the service back up again, which detects a blank directory and retrieves from the network again.
