Setting up a new Witness Node!

in #busy7 years ago (edited)

I've decided I needed to complete my Steemit education. After blogging a little bit left and right and catching the ropes of author rewards, curation rewards, voting power, bidbots and all the drama about the "reward pool rape" I came to the conclusion that ... steem is actually a very decent system!

A well-rounded software stack, only a few config-tweaks away (and a condenser update) from being a great blockchain-powered real-world application!

I am therefore organizing the first Steem meetup in tiny Luxembourg (the only Grand Duchy in the whole world, no less!)

Not only that, I teamed up with a fabulous devops engineer called Pablo and we started the process of setting up a new Witness node!
9f118533-ff60-43dd-b783-598d26c5b517.jpeg
source

Our common witness account is called @lux-witness (the Witness from Luxembourg, duh!). It will be hosted at ws.steemit.lu (as an anecdote, the "steem.lu" domain name was reserved by ... Phillip Morris Intl.)

Following @gtg's appeal, we'll also be running a seed node.

Why the effort?

Several reasons.

Having come to the conclusion that the platform is a well-rounded blockchain ecosystem, proven after more than 2 years of continuous operation at high capacity, I want to learn as much as I can about it from all the angles. Even if, later on, another platform appears that challenges steem, knowing as much as possible about the latter will allow us to make informed comparisons and decide whether the challenger is indeed better overall or not.

Specifically, I believe that learning (through setting up a witness node) about steem will also facilitate a better understanding of EOS (when it will come out).

One of the things EOS adds to the DPOS consensus is the idea of a "Constitution". I consider this addition salutary, because governance is the biggest challenge of a decentralized system and I feel that a constitution is precisely what Steemit lacks currently.

A lot of the drama that we see unfolding around the perceptions of reward pool abuse reflects the fact that, absent a commonly-agreed "Greater Mission" (which a Constitution implicitely embodies), most people around Steemit are obsessed with the money, with the rewards. Whereas they should be obsessed with the content instead!!

Furthermore, I think Steemit is really a good idea that could be developed in so many exciting directions. But in order to "take it places", one needs to influence the first 20 witnesses and have them approve changes. And I suspect someone who is not a witness himself will have a lot more trouble getting his voice heard (especially if that person is not a whale). In this respect, we'll try to go further if possible and set up a full RPC node in the near future.

What we didn't do it for were the witness-associated rewards. Yes, we'll try to go as high as we can in the rankings and we would rather not lose money in the process but making a profit from this operation was never the main motive of this initiative.

la-locandina-di-witness-il-testimone-8508_jpg_750x400_crop_q85.jpg
source

How we went about

As I'm writing this we are still catching up with the blockchain so we are not yet ready, but here is how we started:

  1. We decided to go for a VPS (yes, @themarkymark recommended a dedicated server and maybe we'll get one later on but for the moment we'd rather start small). We therefore headed toward contabo.de which appears to have the best quality/price ratio (on paper at least). We got their "top-of-the-line" VPS with 10 vCPUs, 50GB of guaranteed RAM, 1200GB of SSD storage, 1Gbps network speed and unlimited traffic. The machine was hardened according to best practices.

  2. We then followed the guide for HF19 from @someguy123 (thank you! followed and voted for witness). Not the most recent article he wrote but containing instructions to start fresh. We decided to use a docker image rather than recompile in order to save time. Maybe we'll recompile later when we get more familiar but in order to start, the docker image seemed a good compromise. The only thing we changed in @someguy123's procedure was to install docker using its official documentation rather than the install_docker() function provided in run.sh in order to make sure we have the most recent docker version.

  3. We downloaded and unpacked the compressed blockchain provided by @gtg and started a replay which we hope will take less than 2.5 days that @themarkymark anounced (was he using a compressed copy of the blockchain to speed up the process?)

htop.jpg

Before going to bed the replay process had passed successfully HF19 and was about 65% complete

We'll keep you posted once our @lux-witness is up and accepting new blocks ! We'll publish an official application to be a witness, duly motivated, and we are hoping you'll vote for @lux-witness as witness!

A big thank you to all the great steemians who wrote guides and tutorials that we have sourced for information!

Sort:  

Our new witness, @lux-witness is up and running! We'll anounce officially soon but you can already vote for the first witness of the new generation!

Via Steem Connect in 1 click (technically more like 3 clocks) here:
https://v2.steemconnect.com/sign/account-witness-vote?witness=lux-witness&approve=1

Or here : https://steemit.com/~witnesses
Scroll down the list to the 50-th witness in the list and input 'lux-witness' in the box before clicking on "VOTE":

vote.PNG

Congratulations for taking this important step, Sorin! I already voted you as a witness not because I think you are prepared as a witness right now, but because following and interacting with you for quite some time, I KNOW you will.

We need witnesses that care for the community and make efforts to develop it. Will request you to do so, and mine vote is yours.
Upvoted you and follwing you now.

Ik heb jullie alvast toegevoegd aan mijn lijstje ;)

Felicitari pentru acest proiect .Te voi vota cu siguranta.

Upvoted with my negligible voting power and now following. I don’t get the technical side of it, but I like the way you are approaching this venture and appreciate your focus on quality content. Your idea of a “constitution” embodying a greater mission is interesting. Ideally we’d have a self-regulating system that runs on the highest common denominator but practice seems to indicate it’s the lowest common denominator that prevails, so yay to certain rules of engagement.

thank you

2.5 days is for full nodes. Witness nodes are much quicker.

Thanks. We got an error yesterday before the end and went to bed. Pablo will try again today.
10 assert_exception: Assert Exception
!ec: websocket send failed: invalid state
{"msg":"invalid state"}
th_a websocket.cpp:164 send_message

That happens when you add a key to the wallet and try to use it. Just exit out of the wallet and go back in. It also happens when the wallet times out. Same solution.

Great news @sorin.cristescu!
I will vote for you! =)

Thank you, you can already do so (see above how, in a comment I've just written)!

ai votul meu Sorin. Baftă în noul proiect!

This post has received votes totaling more than $50.00 from the following pay for vote services:

smartsteem upvote in the amount of $105.70 STU, $210.03 USD.
postpromoter upvote in the amount of $104.75 STU, $208.13 USD.
buildawhale upvote in the amount of $98.34 STU, $195.40 USD.
appreciator upvote in the amount of $92.85 STU, $184.49 USD.

For a total calculated value of $402 STU, $798 USD before curation, with approx. $100 USD curation being earned by the paid voters.

This information is being presented in the interest of transparency on our platform @sorin.cristescu and is by no means a judgement of your work.