Hey everyone, chilling here with some Indonesian coffee in hand, blazing some potent swazi thinking I should update the community on how the witness is running & how I'm trending against some earlier goals set. Really digging this platform, the tooling and development is amazing and the super creative community with multiple forms of engagement blows my mind! Smoke.io feels like home!
Witness & goal update:
• Run a stable and reliable witness node with a low network latency, to avoid missing blocks
Yeah, easier said than done! I ran into stability issues after a few days of standing the witness up. This was the result of not being 100% comfortable with administering the ubuntu box using bash commands. On two occasions I had the node stop syncing which resulted in a series of blocks missed, 0-25 blocks the first time and 25-98 the 2nd. Not ideal but we live and learn! After a couple hours of applying repeatable fixes and building a library of commands which enabled me to quickly administer the witness, it became second nature. I am pleased to report I've not missed additional blocks since 98 for a couple weeks now. Latest "state of the witness" report posted by @bbq-iguana including an interview with one of smoke.io top witnesses @powerpicswitness can be found here: https://smoke.io/witness-update/@bbq-iguana/state-of-the-witnesses-3-powerpicswitness-spotlight.
Tip: Creating a backup of your witness and perform a dry run of restoring it fast.
• Develop the technical skills to manage the nodes
What helped me was spending a few hours learning the underlying principles of running a node. Things like launching your instance into a virtual private cloud (vpc) for improved network security or editing your fstab config on your node all helps. I did alot of experimentation and terminated many instances in an effort to familiarize myself with bash and some of the commands. Learning the cli_wallet commands is also super helpful.
Tip: Most important tip here is to security harden your witness. It improves stability & ensures we run a safe network! Understand what the security commands actually do.
• Setup alerts when blocks are missed
I created snapshots of the now stable witness and can restore the node with a few commands in a matter of minutes. I have not figured out the automated alerts just yet but I do ssh into the machine a couple times a day. Adding to this goal, enable automated backup initiation should the witness go down completely. Any advice from the community here is welcome, hit me up on discord (jah.witness).
• Create an image (ami) of the smoke witness config to allow up & coming community members to setup their own witnesses super fast.
Browse the AWS community ami's and launch your own witness from ami-079718640d0942832. You can launch this "clone" of a pre-configured witness with the security basics pre-installed. Once you have SSH'd in, hit ls to see the smoke directory already installed and accessible. Edit the config ini file, add your keys, rpc and seed nodes. Create a screen and launch "smoked" from it. Create a screen for the wallet and import your keys. Once done and have you successfully voted yourself in, create your own ami from within the AWS console. Use this AMI as a fail-over or backup. For more specific steps on how to install the node and configure your wallet or if any of the community wants to start from scratch/use a different platform I suggest checking out https://smoke.io/@bbq-iguana guide: https://smoke.io/witness-update/@bbq-iguana/smoke-io-witness-guide-secure-your-server
Any edits to the ami or suggestions/questions hit me up on discord.
• Run a seed node that helps distribute the blocks and reduce the overall network latency
Putting this on a back-burner for now, we have a strong set of witnesses and the community has strong engagement. Once I have figured out some the stuff above I will turn to this.