Analyzing Hive Account Authorities with a New Script
Hey everyone,
After my recent post about the follower cleanup script, @holoz0r mentioned that it would be neat to aggregate the account authorities of the people you follow/following to see who has given authority to other accounts. I thought that was a fantastic idea, and I couldn't resist writing a script to do exactly that.
The result is a new tool that scans your social graph (followers and following) and builds a local database of all the posting
and active
authorities granted between those accounts. It helps you map out the "web of trust" in your corner of the Hive ecosystem.
How it Works: Scan and Report
The script operates in two modes. First, you scan to collect the data, and then you report on what you've found.
1. Scanning Your Social Graph
When you first run the script with the scan
command, it fetches your follower and following lists. It then iterates through each unique account to record who they have granted authority to, saving it all locally in an SQLite database file (authy.db
).
After the scan is complete, it gives you a summary of the data it collected.
2. Reporting on the "Web of Trust"
Once the scan is complete, you can run various reports to analyze the data. You can see who is most trusted with posting authority among the accounts in your social graph:
And you can do the same for active authority:
You can also drill down to see who a specific user, like @ecoinstant
, grants authority to :
You can also run one to see who has granted authority to a user. (I would show you the result of:
bin/python/authy.py report --grants-to steemauto
but let's just say it would be longer than this post.)
Get the Script
This tool offers a fascinating glimpse into the social trust layer of Hive. You can find the script in the Gist below. As I've mentioned before, you can run it directly from the URL using uv
.
- GitHub Gist: https://gist.github.com/TheCrazyGM/1aaed40ca7d45104d982cc4fe77786b6
- Example Command:
uv run https://gist.github.com/TheCrazyGM/1aaed40ca7d45104d982cc4fe77786b6
Just make sure to set your POSTING_WIF
environment variable before running it, it gathers the account information from that.
As always,
Michael Garcia a.k.a. TheCrazyGM
Fantastic work, mate :) I will be looking into this (at some point) to try and get a grip on what % of people have auths in steem auto, and see if their voting behaviour is influenced by that, or other auths they have.
I think this will lead to some very interesting analytical opportunities :)
I also have written one that does a combination of both, for every user on hive, I haven't run it yet as I know it will take some time, but the skeleton is there to get a complete census of last "posting" activity, last activity in general, and authorities given.
Awesome. We have so much information on the dusty corners of our chain that a lot of people don't really look at. My mind is too analytical to not look in those places. :D
Once we know the scope of a group / audience / behaviour, we can then extrapolate to what percentage of staked HP is on auto pilot, and what percentage of staked HP appears to not be.
Although, as I mentioned last time, there's a gap where the authority is not granted, but the voting is still automated by a locally running script, or something hosted on other infrastructure - so it won't be a complete definition of the sizes, but - a rudimentary, (albeit unreliable) baseline of the manual curation % on chain - both by users and HP :)
oh, that's smart, i think i'll have it add the HP at time of scan to the db too, might make some of it a bit easier,
select sum(vests)
and aJOIN from authority where authority_granted = "steemauto"
would do 90% of the work.Yeah, alternatively, it could be an inner join on the extracted list after the fact. Lots of ways to do it, depends on what has the least computational load, much of a muchness at the end of the day, given the large amount of accounts.
The problem with my thoughts is they are often far too ambitious for my current skills, (or my hardware! - like my recent post about AI detection using a local llm) so I am constantly trying to expand said skills :D
Hey, very interesting, thanks. I will try it out later ...
@tipu curate
Upvoted 👌 (Mana: 50/70) Liquid rewards.
This looks like it would be a fascinating analysis. Thank you again for another very useful tool, my friend! There are so many different parameters that could be used to analyze blockchain data, and I find it all super interesting. 😁 🙏 💚 ✨ 🤙