Presenting my new Non-Owner Operations Toolbox

in HiveDevs4 days ago

In the previous weeks we've delved into two new sets of tools I've built, namely:

→ the Key Derivation Toolbox

→ the Owner Operations Toolbox



So today let's have a look at the third part of my new Little Hive Tools:


image.png



This toolbox was built to make a number of more uncommon operations types more easily available for a wider userbase among the Hive community. These operations aren't available from the most popular wallet app, Hive Keychain, or from most Hive front-ends. Yet they expand the possibilities of what users can do on Hive, so I thought having those operations available from a single easy-to-use, mobile-friendly page would be beneficial to our community.

Importantly, I ensured all transactions built using these new tools can be signed using Hive Keychain. So you don't have to expose your private keys to the webpage.



Link to the new toolbox: https://hassemer-g.github.io/hive-ops/

GitHub repository: https://github.com/hassemer-g/hive-ops

So let's have a closer look at what the new tools can do.



First tool:
🗝️🗝️ Change Account Keys (other than Owner)



This tool is a variant of the "Change Account Keys" included in my Owner Operations Toolbox, but with an important twist that arguably changes everything: it doesn't require signing with Owner Authority! Instead, it requires Active Authority, and it can change all of your account's keys except the Owner Authority.



$1



This tool is just so versatile, it adds a lot of possibilities to the security management of Hive accounts. One can, e.g., regularly change his account's keys without having to expose his owner key(s) to an online environment. Also it makes sense changing keys whenever anything unusual happens (or is merely suspected), in order to reduce the chances that attacks occur.

Considering that owner keys should be kept kept offline (therefore requiring more effort to be deployed), changing all keys except Owner can be used as the first line of defence, being an easy and quick procedure that can even be signed using Hive Keychain.


$1




Second tool:
🏛️🏛️ Change Governance Proxy Account



This tool allows the user to choose a Governance Proxy Account.

What is a Governance Proxy Account? It's like a "copy mode" for votes on witnesses and proposals (not upvotes and downvotes on posts). The weight of the governance voting power of an account is proportional to its Hive Power (HP). Even if the account delegates its HP, the governance power is retained by the account, it cannot be transferred by any other means expect by choosing a governance proxy.

So this tool is useful for users who have HP but don't have the time or will to study witnesses and proposals, and would prefer to transfer this "responsibility" to someone they trust will perform those tasks adequately.



$1




Third tool:
🏷️🏷️ Edit Account Metadata



This tool allows users to see and edit the entire content of their account's "JSON Metadata" and "Posting JSON Metadata". These metadata are used for diverse purposes, but mainly to associate public information to an account, e.g., "name", "about", etc. This is very useful in a social-focused blockchain like Hive.



$1



Account metadata look like this:
$1
My own account's metadata as I write this post


$1

The same metadata as acquired using my new tool.


This new tool allows the user to choose whether to edit only the "Posting JSON Metadata" and sign with Posting Authority, or edit both metadata and sign with Active Authority.

It should be said, sometimes funny things happen when editing your account metadata using the usual Hive social front-ends. In my experience, when this happens the only way to fix your metadata is using some tool that allows changing the metadata as a whole, like what my tool does.




Fourth tool:
⚙️⚙️ Broadcast Custom JSON


This is an advanced tool that allows users the prepare, as the name suggests, customised JSON data, and broadcast this custom data to the Hive blockchain.



$1


"custom_json" is a special type of operation that allows the broadcast of "arbitrary" data, which can be used e.g. by dapps to perform diverse functions, beyond the capabilities natively coded to Hive.

This might seem unimpressive at first glance, but it's very powerful. Custom JSON is what allows Ecency to offer a function so that users can move "POINTS" around. Everything that happens in Splinterlands that is recorded on-chain is done by means of custom JSONs. New dapps can be built on Hive to perform things no one has imagined so far.

In order for this tool to work, you must ensure the JSON is correctly structured. Explaining this structure is outside the scope of this post, and there's plenty of materials online explaining this. If you just want to get things done as quick as possible, you can look on-chain for a successfully broadcast custom JSON and copy its structure, changing only what is needed for the operation you want to broadcast.




Fifth tool:
🚑🚒 Request Account Recovery



This tool allows users to execute the part of the account recovery process that must be done by the Recovery Account, before the actual recovery can take place.

In sum, it broadcasts a request to allow for the recovery of an account whose Recovery Account is the broadcaster of this operation. [complicated, I know]


$1


I already dealt with the topic of account recovery in my previous post, so I don't want to repeat myself here. It is important to note though that the final procedure of the account recovery process must be done by the "rightful owner" of the account in need of recovery, after the Recovery Request (that is what this tool here does) is successfully broadcast.

The concluding operation of the account recovery process can be broadcast using my Owner Operations Toolbox.



What are the next steps for this toolbox?

Somewhere later this year, I want to add the functionality to allow all the operations offered by this new toolbox to be signed using HiveAuth, in addition to Hive Keychain as already supported.

If you would like me to add another operation type to this toolbox, let me know in the comments!



Updates applied to other toolboxes

This week I also applied updates to the Owner Operations Toolbox (to v. 1.2), comprising several improvements including automatically fetching of the most recent version of the dhive libraries and the possibility to use different Hive APIs so as to increase likelihood of successful connection to a Hive node.



And that's it for today! As you can imagine, building and refining these tools took an immense amount of time and effort. But I learnt a lot in the process, so it was definitely worth the while. Please help spreading awareness of these new tools among fellow Hivians. And it you think what I'm doing has value, your upvote means a lot ❤️

, as seen using https://hive.ausbit.dev/
Sort:  

Congratulations @hassemer! You have completed the following achievement on the Hive blockchain And have been rewarded with New badge(s)

You received more than 100 HP as payout for your posts, comments and curation.
Your next payout target is 250 HP.
The unit is Hive Power equivalent because post and comment rewards can be split into HP and HBD

You can view your badges on your board and compare yourself to others in the Ranking
If you no longer want to receive notifications, reply to this comment with the word STOP

Check out our last posts:

Our Hive Power Delegations to the February PUM Winners
Feedback from the March Hive Power Up Day

That is a very useful guide!

!BBH