Some Bot Info for the Curious

in #math7 years ago


V is vote weight
X is the nmber of votes


The Equation

This is the exact equation that I use to calculate the vote weight that will be calculated based upon the mean number of votes. What this means is that this bot will upvote all of those voted on by steemstem equally no matter the vote of the steemstem account. This does mean that there will be much smaller votes going to everyone but hopefully a large enough delegation lease will cover it (as my goal is between 0.01SBD and 0.03SBD) If you would like to see it graphed, look here


How you can Help!

Post quality content with the SteemStem tag. The upvotes might be small but a combination of curation for you and curation rewards for others will help out the community. The other way it helps is it can give me an accurate model for calculating X and the more accurate that model is, the higher I will be able to put the voting weight as estimates will always be generous so as to not drain the bots VP.


How did I make the Bot?

I am using a library called piston to handle working with the blockchain and I am using tkinter to handle the primary GUI. The bot is by no means complex with its behavior. The bot works by creating a list of posts that the steemstem account votes on and then it removes an item from the list when it votes on it, if it crashes then that is okay as it keeps a text copy of the list that it will edit. I also have a non-graphical version of the bot that uses command line arguments but due to how asynchronous tasks work in terminal I find this method to be rather... ineffective. For this reason I have the GUI with a text box that allows for me to send commands to the bot.


When will the bot be fully operational?

As of today I ran the testing and it works with few exceptions. It is currently slow when compared to the blockchain (that may be the library, my network connection, my hardware, or all three combined together) but it still works fine.


How are you going to calculate the value of X


Simply put the mean, number of votes over number of days. It will be continuously calculated and compared but I will also look at the mean votes each week and eventually each month allowing for a more complex analysis. There should be correlation between these numbers but what could potentially happen is that we could have a more complex equation that works to explain the voting weight that may allow for dynamic weighting schemes. But I think I may keep the weighting scheme relatively static so that each person gets an equal upvote.


Something I forgot to mention

This project is being ran independently by @kryzsec with help from @thetruedm, for tkinter. If you would like to join in on this project, you can message @kryzsec on steemit.chat at kryzsec.


Acknowledgements

First of all I would like to point out that this would not be made if it wasn't for @xeroc as I have used his "swiss army knife" for steemit on a few projects and I have always enjoyed using it.


Next I would like to thank all of those that help out, directly, with the steemstem project (@justtryme90, @lemouth, @suesa, @trumpman, @mobbs, @ruth-girl, @anarchyhasnogods, and every author and reader) as without them then there would be no use for this project!
Finally I have to thank all the people that helped build toml as they really outdid themselves when they messed up the version number from 9.3.1 as 9.3. Sorry, I kid but when I first tried working with steempy and couldn't get it to work, it took me a while to find the configuration location in steempy.


References TKInter: wiki.python.org/moin/TkInter
Piston: steemit.com/piston/@xeroc/piston
Steempy: github.com/steemit/steem-python/blob/master/docs/cli.rst

Steem-Stem-Static-bar.png

Sort:  

Congratulations @steemstem-bot! You have completed some achievement on Steemit and have been rewarded with new badge(s) :

Award for the number of upvotes

Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here

If you no longer want to receive notifications, reply to this comment with the word STOP

By upvoting this notification, you can help all Steemit users. Learn how here!