Witness Essentials: Watcher (Docker & Signing-Key Support)

in #witness-category7 years ago (edited)

witness_essentials.png


Witness Essentials: Watcher received an update, which includes:

  • Docker Support (incl. PM2 for 24/7 uptime)
  • Private Signing-Key Support
  • .env file has been removed and config.json refactored

Github: https://github.com/witness-essentials/watcher

Commits (1st Nov. 2018): https://github.com/witness-essentials/watcher/commits/master


What is Witness Essentials?

Witness Essentials is a collection of important tools for witnesses.

Github Organization: https://github.com/witness-essentials

More Info: Witness Essentials Explained


Watcher Overview

Witness Essentials: Watcher is a script that watches over a given witness account and in case of missed blocks, failsover to backup-nodes or disables the witness. Besides that, it can also rotate between the given nodes/keys and alert via multiple services.

To sum the features up:

  • Transaction signing either via private signing-key or private active-key
  • Rotation between keys supported
  • Multiple alert options available (TELEGRAM, SMS <NEXMO, TWILIO>, EMAIL)
  • RPC Failover
  • Robust error handling

Getting Started

The easiest way to get started is to use Docker:

git clone https://github.com/witness-essentials/watcher.git
cd watcher
chmod +x run.sh
./run.sh install_docker
./run.sh build
./run.sh start

For Telegram Alerts: You can create a new telegram-bot through botfather https://core.telegram.org/bots#6-botfather.

For more detailed installation instructions (incl. manually with node) check out the repository:

Github: https://github.com/witness-essentials/watcher


Update Instructions

If you're upgrading from an old version, make sure to edit the config accordingly.

The .env-file has been removed and the private active-key has to be added to the config now. But only if you're not using the private signing-key feature AND/OR if the witness is disabled.


If you find problems or have feature requests, feel free to leave a comment or create an issue on Github.

Sincerely,
Wolf


Do you believe that my work is valuable for Steem? Then please vote for me as witness.

Sort:  
  • Good code, and very useful for witnesses
  • Screen captures of the running script could have been nice to see.
  • Is there a way to simulate missed blocks to test the fail-over and disabling features?

Your contribution has been evaluated according to Utopian policies and guidelines, as well as a predefined set of questions pertaining to the category.

To view those questions and the relevant answers related to your post, click here.


Need help? Write a ticket on https://support.utopian.io/.
Chat with us on Discord.
[utopian-moderator]

Thanks for the evaluation!

To test missed blocks, you could do something like this

if (witness.total_missed > _g.current_total_missed || true) {
      let missed_since_start = (witness.total_missed - _g.start_total_missed) + 1

https://github.com/witness-essentials/watcher/blob/master/src/index.ts#L36

Thank you for your review, @helo! Keep up the good work!

Hi @therealwolf!

Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!
Your post is eligible for our upvote, thanks to our collaboration with @utopian-io!
Feel free to join our @steem-ua Discord server

Hey, @therealwolf!

Thanks for contributing on Utopian.
We’re already looking forward to your next contribution!

Get higher incentives and support Utopian.io!
Simply set @utopian.pay as a 5% (or higher) payout beneficiary on your contribution post (via SteemPlus or Steeditor).

Want to chat? Join us on Discord https://discord.gg/h52nFrV.

Vote for Utopian Witness!