How to Set Up Your On-Call Duty when Your Steem Witness is Missing a Block?


What is On-Call? You know many Software Engineers at Big Companies need to do On-Call Duties to fix service related issues when they arise.

Here is a utility to switch your steem witness node in case of missing too many blocks. But wouldn’t it be a lot nicer if we can be notified (be paged) when this happens?

Open Source Utility: https://github.com/DoctorLai/SteemWitnessAutoSwitch

Please be warned that if you like less intrusive notification, you should go for SMS (which should be easy to set up using the method below) or even just email.

If this then that

You may have heard of IFTTT which stands for If This Then That. This is a powerful service that allows you to connect two or more services.

First, you would need to register a IFTTT account, then you would need to connect the “Webhooks” service which allows you to send a message to the hook. Then, the “That” part would be to connect the “Voip Call” part which will call you – alternatively, you could choose other notification methods such as SMS or Emails, or even make a tweet if you like!

This is how the final recipe looks like:

ifttt-webhooks-steem-witness-notification-scaled How to Set Up Your On-Call Duty when Your Steem Witness is Missing a Block? blockchain IFTTT javascript nodejs SteemIt

ifttt-webhooks-steem-witness-notification

Note that we can pass a *value1* parameter to report the current missing blocks.

Here is how you send a notification message to the webhook aka “This”

1
curl -X POST -H "Content-Type: application/json"  -d '{"value1":"123"}'  https://maker.ifttt.com/trigger/{steem-witness}/with/key/YourIFTTTKeyHere
curl -X POST -H "Content-Type: application/json"  -d '{"value1":"123"}'  https://maker.ifttt.com/trigger/{steem-witness}/with/key/YourIFTTTKeyHere

You will see this message on success.

Congratulations! You’ve fired the steem-witness event

Then, on the github code, you can modify a little bit:

1
2
3
4
5
6
7
8
const execSync = require('child_process').execSync;
 
function reportMissing(missed) {
    log("Report missing: " + missed);
    // TODO: You can send a email/SMS here
    execSync('curl -X POST -H "Content-Type: application/json" -d \'{"value1":"' + missed + '"}\' 
       https://maker.ifttt.com/trigger/{steem-witness}/with/key/YourIFTTTKeyHere');
}
const execSync = require('child_process').execSync;

function reportMissing(missed) {
    log("Report missing: " + missed);
    // TODO: You can send a email/SMS here
    execSync('curl -X POST -H "Content-Type: application/json" -d \'{"value1":"' + missed + '"}\' 
       https://maker.ifttt.com/trigger/{steem-witness}/with/key/YourIFTTTKeyHere');
}

That is it, everytime there is a missing block, you will get a call who will tell you total missed blocks aka the parameter *value1*

ifttt-calling How to Set Up Your On-Call Duty when Your Steem Witness is Missing a Block? blockchain IFTTT javascript nodejs SteemIt

ifttt-calling

–EOF (The Ultimate Computing & Technology Blog) —

GD Star Rating
loading...
531 words
Last Post: Common Mistakes You Can Face With Trying to switch Your Hosting Provider
Next Post: SteemJs Programming: What Happens on the Steem Blockchain in the Last 24 Hours?

The Permanent URL is: How to Set Up Your On-Call Duty when Your Steem Witness is Missing a Block?

Leave a Reply