One way to earn on steemit is through curation rewards. Maximum curation rewards are given to those who are early to upvote a post that is going to be hit with a big upvote value. So users tend to upvote a particular author or anyone who is well known on steemit. So what if I tell you, other than this method, there is another way?
Rather than upvoting only a particular author, we can take advantage of bid bots large upvote value. People tend to bid a large amount to boost their post. So if we can sneak our upvote in before a large upvote does. We stand a chance to earn some sizeable curation rewards. This is of course depends on your vote weight. The advantage of bid bots is that we can know which post going to be upvoted in large value.
If you do check on steembottracker.com. You can see there's a tool named frontrun all posts. So instead of manually upvoting, we can lessen our burden by using this bot.
I'm using Nodejs to write all the code needed. Plus some dependencies such as axios and steem library. I chose axios because of its promised based http request. And the rest is just to figure out the logic of this bot.
As you can see theres counter for both successful upvote and failed upvotes, and the reason behind failed votes. In this case, I upvoted it before. Cause I was testing before. So have to wait for new post to appear.
And another point to mention is that, this bot will upvote according to the ranking of post in terms of curation rewards. Meaning, it will sort the post with highest curation reward and upvote it first.
Instead of blocking the bot from upvoting, I made a timer for the bot to calculate the time needed to reach recovery to configured amount of VP. In this case, I setted it to be 80%. So once 80% reached, it will start upvoting again.