Open Sourcing Goodvoter - My Old Vote Trail Following Bot

What is it?

This is a vote trail following bot that allows you to specify multiple accounts to follow the votes of, the weight used to follow that account, and a target amount of voting mana to try to keep your account at. Because of the target voting mana level you are free to continue to manually upvote things and the bot will automatically adjust.

It is written in NodeJS using the hive-js library and runs in a docker container. It only makes a call every 3 seconds to not overwhelm nodes with more calls than necessary. It simply gets the current irreversible head block number, fetches the latest block, parses it for transactions performed by the accounts specified in the config file, looks for vote operations, then adjusts the weight of the vote as necessary based on both the specified percentage and your currently available voting mana and target.

goodvoter-screenshot.png

Why now?

I wrote this years ago for Steem and eventually made the minimal changes to make it work on Hive. I figured some of you might be able to make use of it so open sourcing it is better than letting it rot away. Aspiring newbie Hive app developers may be able to learn from it and use it.

Are voting bots ethical? Why would you use this?

Personally I don't have time to regularly curate content but I do keep some Hive powered up in my account. Rather then let that HP go to waste I'd prefer to follow the votes of accounts that I "trust" to be voting on good content. I wasn't using my HP for a quite a long time but I had some spare time one day and figured I'd dust this off in hopes that my HP goes to good use.

goodvoter config.png

As you can see in the config file, I've currently chosen three accounts to follow with equal weight (33% of my votes each). One I chose is @ocdb because that always seemed like a good curation project and @acidyo always seemed like a cool person. The next is @curangel because that also always seemed like a good curation project. Lastly I chose @gtg because I trust his judgment in securing the network and also voting for things that are best for Hive (looks like lately he's mostly voting on @hbdstabilizer posts which is clearly a good thing for keeping HBD stable). By default it does not follow downvotes as I'd prefer to do that type of curation manually.

Does this maximize my curration rewards?

No, this is not designed for "maximum profits" or anything like that as that is not my goal here. My goal is simply to use my available HP in the best way that I can even if I don't have time to do it myself. I don't even want to get into theorizing about how to improve it to be honest. I simply do not care about this topic.

Are there bugs? Is it perfect?

This is not really production quality software and likely has bugs yes - especially the lack of error handling in some cases. I hacked this together for my own purposes and it is not perfect in any way. However, I will say that I've run this for months on end without it crashing or having any apparent issues. I have not taken a close look at the logs nor will I spend the time to do so.

If anyone wants to make a pull request to improve on this I will be happy to take a look when I have time.

Where can I find it?

It's on github right here: https://github.com/jredbeard/goodvoter

I no longer think that github is a great place to host your open source software and it's better to run your own instance of Gitea but I won't be hosting one just to publish this simple project, so, it is what it is.

Anyway, I hope this helps someone out! Enjoy!

H2
H3
H4
3 columns
2 columns
1 column
Join the conversation now
Logo
Center