After over a year using the Steem blockchain, I have decided to finally set up my own personal witness node. Why am I doing this?. Well, that's kinda what this post is about.
Firstly, I want to give a bit of an overview of my technical background as being technically competent is probably the most important aspect of running a witness node.
My technical spec....
Late in the last century (jeez that makes me feel old), I completed a Degree in Computer Science and have since worked in various industries, primarily as a software engineer. My real-world development experience is primarily in Java Enterprise systems, but I've have touched on numerous other languages such as C++ and Python. More recently I have been developing applications using NodeJS and React, both for fun and in my full-time job as a third line application support engineer for one of the worlds largest online payment companies. Basically. I spend most of my time putting out fires, fixing things in all kinds of spaces and managing system recoveries as well as implementing monitoring strategies to prevent issues occurring in the first place. These aren't just small systems either; we are talking some of the most complicated and time sensitive, real-time systems you can get, hence I can be on-call, 24/7. I've been doing this for nearly 5 years now, so I feel I am in a great position to be able to take on the management of my own witness node and provide a robust and stable service for all of you.
As you might already know, I am the witness operator and a developer for @curie, and have recently developed their new post submission platform, Becquerel. This is a ReactJS front end with a NodeJS/Express backend/middleware layer and a MongoDB database hanging off the back. It's all secured up using SteemConnect and is being used daily by the curie curators and reviewers and has just gone over 1200 post submissions in 2 months. That's just one example of what I have been working on. I have a couple of other dev projects on the go as well
A Discord bot which allows communities to upvote posts from within the Discord app.
@c-squared have been using this in their Discord community for the last couple of months and it has really helped with the efficiency there. The bot can accept commands from certain roles which can upvote with certain vote percentages and leave comments in defined languages. Vote percentage can also be calculated on a linear scale based on current VP and a minimum VP. It can also follow and re-steem posts. One of the most used features is the ability to drop a configured emoji on a link dropped in discord. The bot then goes off and votes/follow/comments/resteems and adds it's own emoji to confirm that the action was completed. All of this is configurable and will soon be open sourced and available for other communities to use.A witness monitor script
Loosely based on the monitor script by @therealwolf, the script monitors the witness node and does switchovers to the backup witness node or disables the witness completely. I've added some extra functionality to message Discord users in the event of missed blocks as well as doing daily reports sent to a discord channel.
Running the @curie witness goes a long way towards showing that I am capable of running a witness well. Curie is a top 20 witness but the work I do there is purely voluntary.
My community involvement.
Of course, you can build all the greatest dApps/scripts in the world and run the most efficient witness, but all of that is pointless unless you have a good community using the blockchain. I am primarily involved with @curie and @c-squared, both of which are curation initiatives, finding and upvoting quality content on the blockchain. My other involvement is in my own personal project - @photomag. I really want to empower photographers on the blockchain and although I currently curate mostly photography work with my curie direct follow vote, I want it to be more. That's why I have envisioned @photomag - a website on top of the blockchain which will give photographers somewhere to go to read and be rewarded for great content in every aspect of photography
You can read more about @photomag here
Making @photomag a thing and empowering curation efforts such as c-squared is the primary driver behind why I am running a witness node as well as my love for development and trying to help the community out in general.
I really hope that I can get your vote based on what i've talked about.
Some witness specs
I run the manual build of the STEEM witness, currently running on 19.11 on both primary and backup nodes. They aren't the most powerful of nodes yet, but if my witness returns increase and my node production rate along with it, I'll be sure to upgrade and implement full/seed nodes as well as more powerful witness nodes.
Full dedicated primary node with 99.999% Uptime SLA
Operating System: Ubuntu 16.04 LTS, 64 bits
CPU: Intel Xeon E5-1650 - 3.2 GHz - 6 core(s)
RAM: 64GB - DDR3
Hard Drive: 240GB (SSD SATA)
Bandwidth: Unmetered @ 1Gbps
Big thanks to @catalincernat for helping me out with a backup
I use the pretty informative @timcliff post as a baseline for setting up the witness.
My price feed is created by that Jolly Pirate, @drakos and is available here
I am also using Netdata as additional monitoring and alerting as well as some of my own scripts.
If you would like to vote for me as a witness, please visit
https://steemit.com/~witnesses
and enter my name and vote
Or use this link to vote using SteemConnect.
Thanks for reading all this, hopefully, it convinces you that I am a great use of your witness voting stake.
Mark