Steem users that run full nodes on Steem are called Witnesses. Witness nodes are responsible for providing the computational power to process the transactions that serve the Steem network, posts, comments, likes, rewards, et al. Those who run these witness nodes are rewarded with Steem Power for their efforts and are voted into power by regular users. This is one of the most important aspects of the Steem network. The users are directly responsible for those who secure the network.
If you users don’t like how a Witness is performing, or is acting contrary to a set of principles you hold important, it is your responsibility as a user to vote for Witnesses who perform better or start your own.
Brandon Frye, from his YouTube channel, helps us understand witnesses and why they’re important.
Now, if you want to become a witness and take on the responsibility for securing the network, you need to…
BUY A SYSTEM
Not all systems can run a full witness node. There are minimum system requirements. The systems listed below are ones that should be able to handle the computational loads. However, these requirements often change, so please do your due diligence to ensure you’re not wasting your time or money.
The minimum requirements to run a full node are:
- 4 Cores
- 64GB Ram
- 300GB SSD
- 1 Gbps Bandwidth (gigabit cable or fiber Internet connection)
- Ubuntu Server 16.04 LTS (Recommended OS)
The following links will bring you to eBay listings for used servers that generally fit the minimum requirements.
- Dell 410 Rack Servers
- Dell 410 Tower Servers
- Dell’s newer, mini server, the T30
- SuperMicro Servers
- HP Proliant Servers
Generally, these servers don’t come with solid state drives with the standard package, so you’re going to have to buy one or two of those. It’s always wise to have a back up.
SET UP THE WITNESS
This is an involved process, so…
Here’s an excellent guide to setting up your own Witness, by, once again, Brandon Frye. He’s a great resource of this kind of information. Brandon also suggests the following for potential witnesses.
Many of the tutorials written before this one would have you believe that anyone can (and should) be a witness. But I don’t feel that this is the case. For one, not everybody has the time to drop everything they’re doing and tend to server issues. Also, if you have no hands-on experience then you’re going to struggle with the setup and find it challenging to maintain. Therefore, I’d like to start this tutorial off with some prerequisites.
Prerequisites for Becoming a Witness
- At least a basic IT background
- Some experience with servers and CLI (command line interface)
- The ability to look for answers online
- A passion for the Steem Blockchain & Community
- And patience 🙂
If you still want to setup a steem witness but are missing some of the above, all hope is not lost. I’d recommend at least learning how to navigate Linux CLI by training on a site like http://linuxcommand.org/ or https://tutorials.ubuntu.com/. With some practice, it won’t take you long to get comfortable with commands and navigating directories.
If any of this information is incorrect or outdated, please feel free to reach out and correct me.