Set up palomad | Official Paloma Protocol Documentation

Set up palomad

palomad is the command-line interface and daemon that connects to Paloma and enables you to interact with the Paloma blockchain. Paloma is the official Golang reference implementation of the Paloma node software.

Install from binary

The easiest way to install palomad and Paloma is by downloading a pre-built binary for your operating system. You can find the binaries on the releases page.

Mainnet

On mainnet tumbler the latest tag is v2.4.13

wget -O - https://github.com/palomachain/paloma/releases/download/v2.4.13/paloma_Linux_x86_64.tar.gz  | 
sudo tar -C /usr/local/bin -xvzf - palomad
sudo chmod +x /usr/local/bin/palomad

sudo wget -P /usr/lib

Testnet

On testnet paloma-testnet-17 the latest tag is v2.4.11

wget -O - https://github.com/palomachain/paloma/releases/download/v2.4.11/paloma_Linux_x86_64.tar.gz  | 
sudo tar -C /usr/local/bin -xvzf - palomad
sudo chmod +x /usr/local/bin/palomad

sudo wget -P /usr/lib https://github.com/CosmWasm/wasmvm/releases/download/v1.5.2/libwasmvm.x86_64.so

Install from source

1. Get the Paloma source code

Use git to retrieve Paloma, and check out the correct tag depending on your network Github.

git clone https://github.com/palomachain/paloma.git
cd paloma
git checkout [tag]

Example: git checkout v0.4.0-alpha

2. Build Paloma from source

Build Paloma, and install the palomad executable to your GOPATH environment variable.

go build ./cmd/palomad

3. Verify your Paloma installation

Verify that Paloma is installed correctly.

palomad version --long

The following example shows version information when Paloma is installed correctly:

 name: paloma
 server_name: palomad
 version: v.0.9.1
 commit: 0f7194bc7f75283630f5239976c6d7cf2b41a47c
 build_tags: ""
 go: go version go1.24.4 linux/amd64

# followed by many build dependenecies (build_deps)

TIP

If the palomad: command not found error message is returned, confirm that the Go binary path is correctly configured by running the following command:

export PATH=$PATH:$(go env GOPATH)/bin

Initialize and configure moniker

Initialize the node with a human-readable name. This will populate a ~/.paloma/ directory.

MONIKER=<your_custom_moniker> # e.g. validator-joes-node
palomad init $MONIKER

Moniker characters

Monikers can only contain ASCII characters; using Unicode characters will render your node unreachable by other peers in the network.

You can update your node's moniker by editing the moniker field in ~/.paloma/config/config.toml

Add or import your Keys

VALIDATOR=<choose a name>

If you want to create a new key:

palomad keys add "$VALIDATOR"

If you have a mnemonic already, you can recover the keys with:

palomad keys add "$VALIDATOR" --recover

Join or start a network

For more details on this step see Join or start a network.

Run the server as a daemon

palomad must be running at all times. It is recommended that you register palomad as a systemd service so that it will be started automatically when the system reboots.

Register palomad as a service

Create a service definition file in /etc/systemd/system/palomad.service.

Example:

cat << EOT > /etc/systemd/system/palomad.service
[Unit]
Description=Paloma Blockchain
After=network.target
ConditionPathExists=/usr/local/bin/palomad

[Service]
Type=simple
User=<your palomad user>
LimitNOFILE=65535
Restart=always
RestartSec=5
WorkingDirectory=~
ExecStartPre=
ExecStart=/usr/local/bin/palomad start
Environment=PIGEON_HEALTHCHECK_PORT=5757
ExecReload=

[Install]
WantedBy=multi-user.target
EOT

Modify the Service section according to your environment:

Run systemctl daemon-reload followed by systemctl enable palomad. This will register palomad as a system service and turn it on upon startup.

Now start the service with systemctl start palomad.

Controlling the service

Use systemd to start, stop, and restart the service:

# Check health
systemctl status palomad
# Start
systemctl start palomad
# Stop
systemctl stop palomad
# Restart
systemctl restart palomad

Access logs

Use journalctl -t to access entire logs, entire logs in reverse, and the latest and continuous log.

# Entire log reversed
journalctl -t palomad -r
# Entire log
journalctl -t palomad
# Latest and continuous
journalctl -t palomad -f