Witness Essentials: HF20 Ready

in witness-update •  5 months ago

In preperation for HF20, Witness Essentials has received a complete refactoring in addition with an upgrade to use the newest HF20 methods.

This means: instead of one big script, Witness Essentials is now a project that features multiple smaller modules.

Project on Github: https://github.com/witness-essentials

  • CLI: Commands on the CLI for witnesses to quickly update signings-keys, parameters or disable witness. This includes the new HF20 witness method witness_set_properties, which is required to update the new parameters account_subsidy_budget and account_subsidy_decay.

  • Watcher: Script for Steem Witnesses that watches over your witness, alerts you (TELEGRAM, SMS, MAIL) in case of missed blocks and switches (rotates between) keys. Including RPC-failover and robust error handling.

  • Pricefeed: Pricefeed Script for Steem Witnesses which publishes your pricefeed based on 5 major exchanges. Including RPC-failover, PEG support and robust error handling.

  • Remote Control: Script for Steem Witnesses for remote controlling the witness (change signings-keys & disable witness). Including RPC-failover and robust error handling.

CLI has already been upgraded with witness_set_properties and private signing_key support. The rest of them will follow ASAP.
(It took me quite a bit to debug and understand how witness_set_properties works on the testnet - shoutout to @almost-digital and @holger80)

But a quick disclaimer: the new HF20 versions (CLI) have been tested on the testnet, but not on live, due to obvious reasons, so they might contain bugs.


Every module has it's own little starter guide, which will always be up-to-date, so if you're interested in using one or multiple modules, head over to the project page on Github.

But I will create a seperate post for each of them in the near future.

New method: witness_set_properties

I also want to give a few words regarding this new function witness_set_properties, which is an upgrade to the way witnesses are able to update our paramemeters.

We are now able to use the private_signing_key of our current public_signing_key to sign the witness_set_properties operation.

Additionally, we also actually need the function to set two different parameters account_subsidy_budget and account_subsidy_decay, which are important to decide how many reduced Ressource Credit (RC) creation tokens will be created each day, and how many can be there at any point in time.

I'm going to write a featured post about this and RCs in general, and I'm also interested what the general witness opinion is about these parameters, but for now, take a look at this document if you want to learn more:

More about witness_set_properties: https://github.com/steemit/steem/blob/master/doc/witness_parameters.md

More about RCs: https://github.com/steemit/steem/blob/master/doc/devs/2018-08-20-resource-notes.md

Few words about HF20

I'm quite happy that I finished the upgrade for witness_set_properties before HF20 is active, as I truly believe in the importance for witnesses to be able to change these new parameters as fast as possible.

Now with that said:

While I know that big changes always create some sort of risk, I'm very excited about what's coming in HF20.

So - I guess, I'll see you guys on the other side.

Witness @therealwolf - Standing by!

PS: I want to thank the wonderful @artbunny for making the amazing Steem logo as seen in the thumbnail.

Witness Infrastructure:
Primary Node: 128GB - v0.20.3 | Backup Node: 64GB - v0.20.3 | Seed Node: 64GB - v0.20.3

Projects I've developed on Steem:
Smartsteem.com > Investment & Promotion Service on Steem
Steem Chat-Wallet & Witness Essentials > Github: https://github.com/therealwolf42

If you believe that I'm of value for Steem, then please vote for me as witness. You can also set me as a proxy and I'll vote on great witnesses for you.

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Thank you!

Interesting, thanks.

We are now able to use the private_signing_key of our current public_signing_key to sign the witness_set_properties operation.

Isn't this the other way around? I thought the private key wasn't going to be used and now the public key can be used, meaning less potential damage done if compromised. Or am I misinterpreting this?


I thought the private key wasn't going to be used and now the public key can be used, meaning less potential damage done if compromised. Or am I misinterpreting this?

No. If you'd do it that way, everyone could make changes to your witness, since the public key is public.

If the private signing key gets leaked, it's not as bad as if the private active-key gets leaked. That's the reason for the decision.


Right, yes -ok, I must have mis heard what I read weeks ago and didn't look deeply enough into it.


No worries!

smashing up the likes before hf20 less than 45 mins to go exciting times :)

hope to see your code working on live!

Great post as always

super cool<3

Hopefully we can successful improve the system

Posted using Partiko Android

I don't get this technical stuff.. But I hope all will come smooth. 😉 Well done with being ready for it. Let's bring on the next level. 😉

Posted using Partiko Android


Youre not the only one, i dont get the technicals at all, complete jibberish to me ... and since the blockchain update, i can not post anymore ... hope i can post this again (would be the fourth try since the 25th)


It is getting normal now and in a couple of days all be back to normal 100% meanwhile let's engage and comment on everyone's posts and welcome everyone new to the community.

Posted using Partiko Android


That is a great idea, the only problem i still have after the hf20 update, is that i can barely comment or post, because the system rejects them because of not enough sp (i hold approx 10)


Keep curating as much as You can. And if You do posts make sure they bring something to the community that will make people be interested in what you do and they will start supporting you making this way your steem power grow and consequently all the other numbers 😀

Posted using Partiko Android

Commenting after hf20

In the group chat I see some frustrated people complaining. It is a temporary problem, patience is the key guys.