Join the Network
This tutorial introduces deploying a new node on AWS and join the Panacea Mainnet.

Launch an AWS EC2 Instance

Choose an AMI

Choose Ubuntu Server 20.04 LTS 64-bit (x86) with SSD Volume Type.

Choose the instance type

Choose the m5.large instance type (minimum spec).

Configure instance details

Configuration
Value
Network
Choose an existing VPC or default one if you don't have any
Subnet
Choose an existing subnet or default one if you don't have any
Auto-assign Public IP
Enable only if you access a full node from the outside of its VPC
Other fields
Follow default settings

Add a storage

Configuration
Value
Size
500 GiB
Volume Type
General Purpose SSD (gp3)
IOPS
3000
Throughput
125 MB/s

Configure a Security Group

Type
Protocol
Port range
Description
SSH
TCP
22
Custom TCP
TCP
26656
P2P with other nodes
Custom TCP
TCP
26657
RPC
Custom TCP
TCP
1317
REST API
The P2P 26656 port must be exposed to other Panacea nodes. If your node will be in the VPC guarded by Sentry nodes, expose 26656 to only Sentry nodes (recommended). If not, expose it to anywhere. For details about Sentry nodes, please see the Tendermint guide.
The RPC 26657 and REST API 1317 ports are for sending transactions/queries to your node. So, expose them to the network where you perform operational actions.

Connect to your EC2 instance and install prerequisites.

1
ssh [email protected]<your-ec2-ip> -i <your-key>.pem
Copied!
Install prerequisites by following the Installation guide.

Setup a New Node

These instructions are for setting up a brand new full node from scratch.
First, initialize the node and create the necessary config files:
1
panacead init <your_custom_moniker>
Copied!
The moniker can contains only ASCII characters. Using Unicode characters will render your node unreachable.
Then, modify the timeout_commit in the ~/.panacea/config/config.toml as below.
1
[consensus]
2
3
timeout_commit = "5s"
Copied!
After that, edit the ~/.panacea/config/app.toml file in order to enable the anti-spam mechanism and reject incoming transactions with less than the minimum-gas-prices:
1
# Validators reject any tx from the mempool with less than the minimum-gas-prices.
2
minimum-gas-prices = "5umed"
3
4
# NOTE: For the Testnet, please set minimum-gas-prices as "", so that no fee is required.
Copied!
Now, your full node has been initialized!

Copy the Genesis file

Fetch the genesis.json file of the latest chain from the following links, and place it to ~/.panacea/config/genesis.json.

Configure Persistent Peers

MediBloc is not operating seed nodes, but will provide them in near future.
Until then, please use public full nodes provided by MediBloc.
Insert those public nodes to the persistent_peers field in the ~/.panacea/config/config.toml.
For more information on seeds and peers, see the Using Tendermint: Peers.

Run a Full Node

Start the full node with this command:
1
panacead start
Copied!
Check that everything is running smoothly:
1
panacead status
Copied!
In production, it is recommended to run the process in background by following the guide below.

Background Process

To run the node in a background process with automatic restarts, you can use a service manager like systemd. This is more reliable way to run a background process in the long term. To set this up, run the following:
1
sudo tee /etc/systemd/system/panacead.service > /dev/null <<EOF
2
[Unit]
3
Description=Panacea Daemon
4
After=network-online.target
5
6
[Service]
7
User=$USER
8
ExecStart=$(which panacead) start
9
Restart=always
10
RestartSec=3
11
LimitNOFILE=4096
12
13
[Install]
14
WantedBy=multi-user.target
15
EOF
Copied!
It is very important to set the LimitNOFILE=4096 since Panacea opens many DB files.
If you're using Cosmovisor, add the following environment variables after the LimitNOFILE line and replace $(which panacead) with $(which cosmovisor).
1
Environment="DAEMON_HOME=$HOME/.panacea"
2
Environment="DAEMON_NAME=panacead"
3
Environment="DAEMON_ALLOW_DOWNLOAD_BINARIES=false"
4
Environment="DAEMON_RESTART_AFTER_UPGRADE=true"
Copied!
For more details about those environment variables, please see the Cosmovisor guide.
Then, setup the daemon.
1
sudo -S systemctl daemon-reload
2
sudo -S systemctl enable panacead # the process will be started automatically whenever your system is booted.
Copied!
You can then start the process and confirm that it is running.
1
sudo -S systemctl start panacead
2
sudo service panacead status
3
4
sudo journalctl -u panacead -f --output cat # See logs from panacead
Copied!

Monitor the chain using block explorers

View the status of the network with block explorers.

Join as a validator

If you want to participate in validating blocks as a validator, you can register yourself into the validator set by submitting a transaction.
For more details, see the CLI guide.
Last modified 13d ago