This repository has been archived by the owner. It is now read-only.
Checks the status of your Shiftnrg delegate
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

shift-checker (DEPRECATED!)

Current version: 2.0

This script checks the status of your Shiftnrg Delegate by using PHP.
Feel free to rewrite in Python or Bash.

This script will also check whether your node has forked or not.
When forked, it will stop Shift, restore to previous snapshot, and start Shift again.

This script will also check your consensus and switch forging to your backup node.
When both nodes have a bad consensus, it will restart Shift and let you know by sending a Telegram message.

IMPORTANT TO MENTION If you want to use the consensus controller, you need to add your secret(s) to config.php and remove them from your Shift config.json. Also, you have to give access to the forging API calls for both nodes. Like this ( is the extra IP):

    "forging": {
        "force": false,
        "secret": [],
        "access": {
            "whiteList": [

There are some echo lines in this file.
When you redirect output to a log file in your crontab, these lines will show up.
See section Example crontab for more information.

Be sure to run this script after:

  • You have installed shift-snapshot
  • You have created a snapshot with shift-snapshot


Be sure that your php.ini allows passthru(). It's default that it does though, so just check if this script is not working.

sudo apt install php php-cli php-mbstring php-sqlite3


You can clone this into every directory of your choosing. I usually just clone it into my home folder.

git clone
  • Change settings inside config.php to match your needs
  • Edit your crontab with the example below

Example crontab

* * * * * php ~/shift-checker/checkdelegate.php >> ~/shift-checker/logs/checkdelegate.log 2>&1

Telegram bot

Shift-Checker comes with Telegram functionality which will allow shfit-checker to send you a message if anything requires your attention. It's very easy to set up:

  • Open Telegram and start a conversation with: userinfobot
  • Put your ID inside variable $telegramId.
$telegramId = "12345678";
  • Start a conversation with: botfather
  • Say: /newbot
  • Tell botfather your bot's name
  • Tell botfather your bot's username
  • Botfather will say "Congratulations!" and give you a token
  • Put your token inside variable $telegramApiKey.
$telegramApiKey 	= "1122334455:AAEhBOweik6ad9r_QXMENQjcrGbqCr4K-bs";
  • Edit the telegram toggle (true/false)
  • Start a conversation with your bot (username) to enable communication between you two



Do you like/use my script(s)? Please consider donating the amount of a cup of coffee :-)
SHIFT: 7970982857025266480S
BTC: 1GbAWBiGyuybXJcjtyTvtH6hB5iezXNVdP


Seatrips (create snapshot when status is okay)

Mrgr (Shift snapshots)