ULOG 055 - Witness Update 2018-08-16 - Going native steemd

@quochuy’s Witness report

Table of content

  • Today in the real life
  • 50/50 SBD/SP or 100% SP?
  • Steem Blockchain v0.19.11
  • Speedup the block_log.xz decompression with pixz
  • Steem Blockchain v0.19.12
  • Skippy Bot and automated community footer banner generation

Today in the real life

My boy was sick too yesterday, we had to take him to the emergency cuz the virus has triggered an asthma and his air track had a spasm preventing him to breath properly. All is good now, they have given him some Prednisolon and an asthma action plan which seems to work so far. This year has been very bad in terms of disease, not sure what's going on. Wherever I go, people are coughing so much. It also seems like there is multiple things going on at the same time as some of my colleagues have different symptoms.

Anyway, my cough hasn't left me yet, I can feel it is getting better but it's still there and annoying me. That didn't prevent me from attending tonight's Wu Xing Dao class. I was totally drained afterwards as I did a lot of effort in the training today. I'm getting better at chaining my attacks but I still have a long way to go.

I've received the Neodymium Rare Earth Magnet I ordered on ebay. It is rated for 68Kg if memory serves. It's a model with a hook at the back for doing magnet fishing. I wanted to try use it next time I'm going fishing on the wharf at Pattonga and see what I can get from the bottom of the sea. There are many people fishing there so I'm sure I'll be collecting some pliers and knives etc... lol. I will bring a bucket and remove those rubbish from the water.

50/50 SBD/SP or 100% SP?

Before I dive into the technical stuffs, I read in some Discord channel people asking if they should, as of now, choose 50/50 SBD/SP split or 100% power up when creating new posts. Usually, when 1 SBD is above 1 USD, it is more profitable to choose 50/50 and then put the SBD on the exchange to buy Steem. On the other hand, when 1 SBD is under 1 USD, it is more better to choose 100% Power Up. I made some explanation on this a long time ago over here:
The truth behind 100% payout vs 50/50: OMG, why didn’t I know about this before?

Currently, 1 SBD is less than 1 USD so it would be best to choose 100% right? Well not necessarily. The reason is that all rewards are now payout in Steem + Steem Power, the system isn't producing any SBD due to debt ratio being above 5%.

See this article by @buggedout: The STEEM DOLLAR Purge Begins : This is what we need to DO

So there is almost no difference between choosing SBD/SP or all SP. If you choose SBD/SP you will actually receive Steem/SP and then you can power up that Steem into SP and the total will equal to the 100% SP.

So you have two choices:

  1. If you don't need liquid Steem, then choosing 100% Power Up will save you time, you won't need to power up and enter your private key to confirm.
  2. If, like me, you need liquid Steem to pay for various things: the subscription to @steemsql, donations to @adollaraday, buying @steembasicincome shares etc... then you would want to choose the 50/50 SBD/SP option

Steem Blockchain v0.19.11

I’ve recently updated my witness node to the blockchain v0.19.6 and spun up a secondary node to test an update to 0.19.11 that was released on the same day.

After multiple attempts with replays and server reboot over several days, it was still crashing on my server for some reasons. I noticed a core dump file and dbg told me the error was a SIGILL Illegal Instruction. It’s either my CPU or the Kernel that is at fault. An update to the Kernel would not solve the problem.

@gandalf (witness @gtg) has suggested to build steamed natively.

Until today, I was using @someguy123’s awesome Dockerized version of steemd called Steem-in-a-box. It’s basically a virtual machine that runs inside your server. @someguy123 would build (compile) steemd for you and all you need to do is update your local image. For some odd reason, 0.19.11 worked perfectly well with inside my Docker on my seed node but if I run it as a witness node, it would segfault with an illegal instruction.

So I decided to make the jump today and stop using Steam-in-a-box. I took inspiration on various tutorials and the scripts coming from Steem-in-a-box to build my own collection of Steam Witness node setup scripts:

  • setup a brand new server from my hosting company
  • setup the swapfiles. I’m not using partitions but rather swapfiles so I can change their size without repartitioning. To optimise disk space usage
  • fetch a version of steemd and build it
  • download the block_log file from @gtg server and uncompress it

Thank you @someguy123 for making Steem-in-a-box, it was an invaluable tool that got me started in the world of witnessing for the Steem blockchain. But I think it's now time for me to get to the next level.

Speedup the block_log.xz decompression with pixz

When using Steem-in-a-box, there is the run.sh script which you can use to download and uncompress thee block_log file from @gtg server. It usually takes me about 20ish minutes to download the file but over an hour to decompress it.

@gtg is using xz to compress his file and I have done some search online and found out there is an equivalent that allows compression/decompression in parallel using multiple CPU cores. The alternative and compatible software is called pixz. My script is now using it and it dropped down my decompression time to just over 15 minutes!

UPDATE: as clarified in the comments section below, @gtg is also using pixz for compressing the block_log.

Steem Blockchain v0.19.12

Just as I managed to successfully build and run 0.19.11 on my secondary witness node (which us now my primary one), Steemit Inc released 0.19.12... Well, I will have to do the whole thing again.

This is a good opportunity because my seed node was still running Steem-in-a-box. I’m now compiling steemd natively on both the seed and the former primary witness node (which is now the secondary one).

Hopefully it will be an easy one this time.

Sources
Those are some articles I’ve been reading to setup the witness nodes. Keep in mind that those articles are rather old and might contain out-of-date information.

Skippy Bot and automated community footer banner generation

As mentioned last time, Skippy Bot has been updated with the ability to generate and publish the footer banner for @teamnz members. @cryptonik has provided me with the template and font files and I cloned the script I made for @teamaustralia. Skippy Bot validates the members before giving them their banner, the validation process is verifying that their Steem account has received an upvote from @teamnz. Upon successful validation, Skippy Bot uses GD to add a text on top of the PNG template and uploads the resulting image to IPFS.

Screen Shot 2018-08-07 at 9.18.00 pm.png

@bearone has contacted me to ask me to build a banner generator for @SteemPh, the Steemit Philippines community. The functionality is now in place with a validation that checks whether or not a member is being followed by @SteemPH. A SteemPH registration is now in place.

Screen Shot 2018-08-14 at 9.26.42 pm.png


Support me by voting for my witness via SteemConnect

@quochuy Steem Witness

Summary of some of my other contributions

ProjectDescriptionLink
Steemed PhishChrome browser extension to make external links more visible and alert you on Phishing/Scamming linksSteemed Phish
Dtube Community SupportThis project by @evildido allows users to run their own IPFS node and pin videos in order to cache them for longer. Dtube has the tendency of deleting non-popular video after few days only. I helped Dockerizing the project for an easier deployment on almost any platform. I've also contributed by running two nodes, one in Australia and one in Canada to cache #teamaustralia and #teamnz videos.Dockerizing Dtube Community Support
DiscoSteem BotThis is a Discord/Steem bot project by @planetenamek. When I started Steemulant Bot for the Vietnamese community, I didn't know the existence of DiscoSteem Bot and wanted something written in NodeJS. I've ended up continuing my own project as it contains code and logic for personal use and for the Vietnamese community. But I've decided to share some useful features that can benefit the users of DiscoSteem Bot and will continue to add more functionalities as I go.Dockerizing DiscoSteem Bot
A Dollar A DayThis is a project run by @pennsif and will donate 15 SBD every day to a charity"A dollar a day" fundraiser - Karaoke Singing: Le chanteur malheureux
Team VietnamI started a new Vietnamese community on Discord and developed @teamvn, a community bot to help grow the Vietnamese community and help them create higher quality content.
POCKET-JSThis is my Javascript (NodeJS) port of the POCKET confirmer by @biophil. POCKET is an experimental crypto token on top of STEEM.POCKET-JS Confirmer
Skippy BotI've written this Discord bot for @teamaustralia, it has three main features: a level bot (like Tatsumaki but with Australian animal images), a chatter bot and a footer banner generator for both @teamaustralia and @teamnzWitness Update 2018-07-30 - Team Australia's Skippy Bot

Credits

  • The image at the top has been generated with the Canva app using my own photo.

Related content

H2
H3
H4
Upload from PC
Video gallery
3 columns
2 columns
1 column
5 Comments