Tracking Unvoted Proposals

Introduction

As an Oraichain validator, it’s crucial to stay updated with governance proposals and ensure you cast your votes. Missing votes can affect your reputation and might even lead to delegation losses. The cosmos-proposals-checker tool simplifies the process of tracking unvoted proposals.

This tutorial walks you through:

  1. Downloading the Binary

  2. Setting Up the Configuration

  3. Creating a Systemd Service


1. Download and Install cosmos-proposals-checker

Step 1: Download the Latest Release

Check the latest release from the GitHub repository

Example with version v5.14.1:

wget https://github.com/QuokkaStake/cosmos-proposals-checker/releases/download/v5.14.1/cosmos-proposals-checker_5.14.1_linux_amd64.tar.gz -O cosmos-proposals-checker.tar.gz

Step 2: Extract and Move the Binary to the System Apps Folder

tar -xzvf cosmos-proposals-checker.tar.gz
chmod +x cosmos-proposals-checker
sudo mv cosmos-proposals-checker /usr/local/bin/

Step 3: Verify Installation

Now you can run it from anywhere:

cosmos-proposals-checker --version

The output should be:

cosmos-proposals-checker version 5.14.1

2. Setting Up the Configuration

Now, let's download and configure the config file.

Step 1: Download the Example Configuration

For this tutorial, we will place the configuration file in /root/config.yml, but you can choose your own path.

wget https://raw.githubusercontent.com/QuokkaStake/cosmos-proposals-checker/5cb45561274c78d9e153919b3bb33e3b3f364231/config.example.toml -O /root/config.yml

Step 2: Edit the Configuration File

Open the configuration file:

vi /root/config.yml

Step 3: Update the Chain Configuration

Modify the file to match Oraichain settings. Below is an example:

[[chains]]
name = "Oraichain"
pretty-name = "Oraichain"
keplr-name = "Oraichain"
mintscan-prefix = ""
lcd-endpoints = ["https://lcd.orai.io", "https://oraichain-rest.publicnode.com"]
wallets = [
    { address = "orai1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" }
]

Replace orai1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa with your actual validator wallet address.

Step 4: Set the Reporting Interval

To schedule daily reports at 04:00 AM, update:

interval = "0 4 * * *"

Step 5: Configure Notification Channels

cosmos-proposals-checker supports:

  • Telegram

  • PagerDuty

Modify the notifier settings in the configuration file based on your preferred method.


3. Create a Systemd Service

To automate execution, we will create a systemd service.

Step 1: Create the Service File

sudo nano /etc/systemd/system/cosmos-proposals-checker.service

Step 2: Add the Following Configuration

[Unit]
Description=Cosmos Proposals Checker
After=network.target

[Service]
ExecStart=/usr/local/bin/cosmos-proposals-checker --config /root/config.yml
Restart=always
User=root

[Install]
WantedBy=multi-user.target

Make sure to replace /root/config.yml with your actual configuration file path.


Step 3: Reload and Start the Systemd Service

sudo systemctl daemon-reload
sudo systemctl start cosmos-proposals-checker
sudo systemctl enable cosmos-proposals-checker

4. Check Logs and Service Status

To verify that the service is running correctly:

Check the Service Status

systemctl status cosmos-proposals-checker

View Logs in Real Time

journalctl -u cosmos-proposals-checker -f

Now, your validator will never miss governance votes again! 🚀

Last updated

Was this helpful?