# How to Upgrade Band and Yoda Software to Version v1.2.8-rc0 This guide explains how to upgrade bandd and yoda program that currently running. The aim of this guide is to allow validators on BandChain to smoothly update their yoda service without any significant downtime. ## Required update: - New bandd version that using a new wasmer runtime and optimize how to compile oracle script. ## Optional feature: - Expose prometheus metric endpoint to track yoda stat. ### Step 1: Upgrade Your Band and Yoda Software to the Latest Version ``` cd $HOME/bandchain/chain git fetch git checkout v1.2.8-rc0 make install # Check that the correction version of bandd and bandcli is installed bandd version 1.2.8-rc0 ``` ### Step 2: Stop the `yoda` process ``` sudo systemctl stop yoda.service ``` ### Step 3: Restart the `bandd` process ``` sudo systemctl restart bandd.service ``` Make sure `bandd` service continues to mine blocks by running `journalctl -f -u bandd.service` ### Step 4: Setup Yoda Config for Prometheus (optional) Expose prometheus metric endpoint on custom port ``` yoda config metrics-listen-addr 127.0.0.1:<YOUR_PORT> ``` ### Step 6: Start `yoda` back after `bandd` has started processing the blocks ``` sudo systemctl start yoda ``` ### Step 7: Checking Prometheus Metrics (optional) Check your prometheus metric by `curl 'http://localhost:<YOUR_PORT>/metrics'` If all goes well, you should see the metrics like this ``` yoda_reports_error_total 0 # HELP yoda_reports_handling_count Number of reports currently being handled # TYPE yoda_reports_handling_count gauge yoda_reports_handling_count 0 # HELP yoda_reports_pending_count Number of reports currently pending for submission # TYPE yoda_reports_pending_count gauge yoda_reports_pending_count 1 # HELP yoda_reports_submitted_total Number of reports submitted since last yoda restart # TYPE yoda_reports_submitted_total counter yoda_reports_submitted_total 3 ```