Steem Witness Toolbox is a helper script for witnesses maintaining the Steem network. It's written in Node.JS, uses @svk's SteemJS-Lib and it's based on @someguy’s steemfeed-js. All the heavy lifting was done by @someguy123, I just added options for updating SBD interest rate, account_creation_fee
and maxmimum_block_size
parameters.
The script updates the price feed at a set interval (default is 60 minutes, can be changed via config.json) and the following witness variables:
account_creation_fee
- the price, in STEEM, that a user must pay in order to create an account on Steemit.comsbd_interest_rate
- the APR of Steem Backed Dollarsmaximum_block_size
- the maximum size of a block in the Steem blockchain
It can be used with docker or npm. I prefer the docker version. Installation and a bit of documentation can be found on the Github repo.
Why The Account Creation Fee Should Be Pegged To The Dollar
Last week I had a few conversations about potential scenarios in case of a drastic Steem devaluation (which is something I expect to happen, even if for a very short period of time, once HardFork 16 is adopted by all witnesses). One of the scenarios was about the possibility to create a ridiculously large number of accounts, in the case of a serious devaluation. A very large number of accounts controlled by a single user could create a bit of trouble, even if we think at the spam potential.
I even opened a Github issue on this topic, suggesting to throttle the account creation number at the cli_wallet level. A few devs gave me more information and in the end I realized that this may not be the best solution. I also closed the issue and decided to take another path.
The account fee should be a political decision, not something written in code. It’s something that stems from governance, hence, the witnesses should have a way to closely watch any price variations and adjust the fee accordingly.
That’s why I decided to write and implement this script, on top of the price feed script I was already using.
On my witness node, every 60 minutes, the script pulls the Steem / USD pair rate from a few exchanges. Based on that, it calculates the actual number of Steem required to open an account, at a certain account price, set up in USD.
I set up my account price at $5. If Steem is $0.10, the account_creation_fee will be 50 Steem. If Steem is $0.15, the account_creation_fee will be 33.33 Steem.
So, even in the case of a drastic devaluation, the actual price of opening an account on Steemit will always be $5, which should prevent any potential abuse.
It was fun to write and deploy some code for the Steemit blockchain - it’s my first attempt at this - and I learned quite a bit. I want to thank again to @svk and @someguy123 for the great work they did so far.
I also encourage all the witnesses to test and improve the script as they see fit. I consider it alpha software, hence, there might be some bugs and the “architecture” can surely be improved.
I'm a serial entrepreneur, blogger and ultrarunner. You can find me mainly on my blog at Dragos Roua where I write about productivity, business, relationships and running. Here on Steemit you may stay updated by following me @dragosroua.

https://steemit.com/~witnesses