This guide is specifically for validators who want to run the dry run testnet node alongside their existing Namada validator on the same machine. The key is to use different ports than your existing validator to avoid conflicts: we'll use ports 46656-46660 for the dry run node while your existing validator continues to use the default ports (26656-26660). This setup enables you to test the dry run configuration and functionality while keeping your current validator operational.

The guide assumes:

  1. Set up the environment and directories:
# Create and set base directory for dry run
export NAMADA_BASE_DIR=/nvme/namada_dryrun
mkdir -p $NAMADA_BASE_DIR

# Set required environment variables
export NAMADA_NETWORK_CONFIGS_SERVER="<https://testnet.namada-dryrun.tududes.com/configs>"
export VALIDATOR_ALIAS=volaris
export CHAIN_ID=namada-dryrun.abaaeaf7b78cb3ac
  1. Copy the validator wallet (from the existing node):
mkdir -p $NAMADA_BASE_DIR/pre-genesis/$VALIDATOR_ALIAS
cp /nvme/namada/pre-genesis/$VALIDATOR_ALIAS/validator-wallet.toml $NAMADA_BASE_DIR/pre-genesis/$VALIDATOR_ALIAS/
  1. Create new service file:
sudo nano /etc/systemd/system/namada_dryrun.service
[Unit]
Description=Namada Dry Run Node
After=network-online.target
Requires=network-online.target

[Service]
User=andrei
ExecStart=/usr/local/bin/namada node ledger run
Environment="NAMADA_BASE_DIR=/nvme/namada_dryrun"
Environment="NAMADA_LOG=info"
Environment="CMT_LOG_LEVEL=p2p:none,pex:error"
Environment="NAMADA_CMT_STDOUT=true"
Restart=always
RestartSec=10
LimitNOFILE=65535
WorkingDirectory=/nvme/namada_dryrun
StandardOutput=journal
StandardError=journal

[Install]
WantedBy=multi-user.target
  1. Join the network as a full node (since volaris is not in genesis)::
namadac utils join-network --chain-id $CHAIN_ID
  1. Update the ports so that it runs in parallel with the current validator
nano $NAMADA_BASE_DIR/$CHAIN_ID/config.toml
[ledger.cometbft]
proxy_app = "tcp://127.0.0.1:46658"

[ledger.cometbft.rpc]
laddr = "tcp://127.0.0.1:46657"

[ledger.cometbft.p2p]
laddr = "tcp://0.0.0.0:46656"
external_address = "tcp://78.144.78.1:46656"

[ledger.cometbft.instrumentation]
prometheus_listen_addr = ":46660"
  1. Add the persistent peers: