@Ura-Soul Witness Update: Hive Server is Back Online @ v.1.27.3. + Tips For Security Config For HiveFeed.js

in Hive Governance11 months ago

@ura-soul witness for HIVE

Greetings to all on Hive, it has been a while since I shared a Witness Update and since my server has been offline for a few days, I thought I would take a moment to wish you all a great Solstice and New Earth Orbit celebration :)

I have been involved with various Hive projects in the last year, but mainly ones that are not visible on chain and that haven't yet reached the point of adding value - so I have not been speaking about them publicly. I am no longer working with Splinterlands on the marketing of the services via Twitch and am currently reorienting to work more with the SPK team and also other folks who are aiming to further develop Hive's 'breakaway communities' so that we finally realise the true potential of Hive as a way for groups to self govern in an unstoppable way online. I will post more on that when the time is right, most likely Q2 next year.

My witness server has sadly been offline for a few days due to issues over at Privex and then further issues relating to configuration and apparently some bugs in their template system. I am considering once again running my own server to avoid this in future, but will need to stay with Privex a while longer as my schedule is very busy for the next few weeks. For now though, as of today, my Hive Witness is back serving blocks and the price feed is once again up to date.

Which brings me to the useful tip for witnesses that I want to share today:

Configuration of the Hivefeed-js script for Hive Witness price feeds


One of the requirements for being a witness on Hive is the provision and publishing of a price feed that allows the Hive system to establish a value for conversions of Hive to HBD in a decentralised way. Many witnesses are using the Hivefeed.js script/package offered by @someguy123 to make this easy (I think this is an iteration of the old Steemfeed package from back in the days of Steem). I don't think I am alone in finding that the configuration of this package can be confusion and unreliable, leading to downtime and errors from time to time.

The documentation (from various different witnesses) that has been provided for this package over the years has been lacking in clarity. Since we rarely need to configure this package from scratch, it is often the case (at least for me) that when this is needed, we return back to the same documentation that is unclear and are possibly not able to recall exactly how to correctly configure the price feed process. So, here's a very simple set of tips that will make this easier for anyone wanting to run a Hive Witness... At the very least it will help me in future if I get stuck with it again!

Security Configuration for Hivefeed.js


In general it is not wise to leave your account's active key on your witness server, since anyone who gains access to the server can then read the key and use it to exploit your account. The main way around this is to use the CLI wallet system to generate a 'brain key' for the account and to attach your existing account to it. You can now use a new key in order to authorise blockchain transactions without risking your own active key needing to be stored on the server.

The use of this process for running the main Hive witness server is fairly well documented already by several different authors, however, the correct way to use this approach with Hivefeed.js is not clearly documented at this time - the terminology and provided config.ini files are unclear at best.

The default config.ini file currently only includes a 'wif' field, which is intended to hold your account's active private key. If you insert this key into this field in the config.ini file, then the process should work correctly, but this is insecure.

The advanced example for the config.ini includes a second field that can be used to hold the alternate private key that is generated via the 'brain key' process used when setting up the main witness node process, but the description for it's correct use is lacking. Here's what actually works. Replace the 'wif' field in your config.ini file with the folowing:

"signing_keys" : {
        "public signing key" : "wif_priv_key generated by suggest_brain_key"
    },

IMPORTANT: Replace the 'public signing key' value with the public key generated by 'suggest_brain_key' and also replace the second value with the private key generated by 'suggest_brain_key'. The instruction I have seen are written in a way that suggests that the first part of the field should actually be 'public signing key' (a string/label), which is incorrect. To reiterate, the first value should be your actual public key, generated by suggest_brain_key and not anything else!

Hopefully this helps someone in future!

It's also a good idea to run:

git pull  
./run.sh install
./run.sh restart

Before running this process in order to ensure you are running the latest version.

Once these steps (and the other setup steps) are completed, the Hivefeed should work as expected!

Let me know if you have any questions or get stuck and I will try to help!



Wishing you well,
Ura Soul






Read My User Guide for Hive Here


You Can Vote For Me As A Hive Witness!

Click the big black button below:

ura soul witness vote for hive


View My Witness Application Here

View Some of My Witness Related Posts

Note: Witnesses are the computer servers that run the Hive Blockchain.

Without witnesses there is no Hive blockchain or DApps such as PeakD and 3Speak... You can really help Hive by making your witness votes count!

I am founder of an ethical Digital Marketing Agency called @crucialweb. We help our clients to grow and innovate online and offer discounts for decentralised projects. Get in touch if you'd like to work with us.

ureka.org
I run a Social network for healing, balancing and evolving too. Meet compassionate co-creators of reality, learn, share & make life better!
Sort:  

PIZZA!
The Hive.Pizza team manually curated this post.

Please vote for pizza.witness!

This is the correct way to configure the Hivefeed-js, only use the keys you have generated from your witness, the documentation is a bit confusing and there is more than one version of the price feed script, as with everything the biggest room in the house is the room for improvement.

PS. If you have a spare slot, send me a vote and support a new witness.