Motivation
I have been experimenting steem-python and steem blockchain to see
what's going on under the hood. We do have a lot of upvote bots in the scene,
yet I had no idea how they work in detail.
With the help of awesome steem-python package, I have managed to create
a simple upvote bot. @turbot
This bot is not the best bot available and it won't be. it's pretty miserable at the moment as you can see from its eyes in the logo. But it can be a good starting point for potential steem blockchain developers.
Turbot does the following though:
- Listen the blockchain for new blocks
- Process these blocks and transactions.
- If a transaction directed to the bot account, turbot spots it and upvotes
the post in the memo. - Turbot upvotes the related content with a random vote weight between 1-100.
- You can safely start/stop the bot. It stores the state and do not
make duplicate processing on already processed blocks.
Refunds
Turbot refunds SBD if:
- the post is archived
- the post is already upvoted
- transaction doesn't cover the minimum SBD
- the post URL is invalid
Installation and Running
$ virtualenv -p python3 turbot
$ source turbot/bin/activate
$ git clone https://github.com/emre/turbot.git
$ cd turbot/turbot
$ vim settings.py # edit accordingly
$ PRIVATE_POSTING_KEY=[BOT_ACCOUNT_POSTING_KEY] ACTIVE_KEY=[BOT_ACCOUNT_ACTIVE_KEY] python turbot/turbot.py
Configuration Parameters
MINIMUM_SBD_FOR_UPVOTE = float(0.002)
UPVOTE_WEIGHTS = (+1, +100)
BOT_ACCOUNT = 'turbot'
@turbot is now online for experimental usage, you can use it, it doesn't have a good STEEM power since
his wallet is very tiny but he will make sure you will get the upvote. :)
Forgot to mention, @turbot's source code is located under github. see @emre/turbot to study its source code.
Warning: This software is not production ready and may contain bugs. It's an experimental project for me to learn the steem block chain. You should make required checks and enhancements if you want to use it in production.
Great job! You might like to take a look here
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
This post has received a 1.16 % upvote from @booster thanks to: @emrebeyler.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
This post has received a 3.84 % upvote from @boomerang thanks to: @emrebeyler
@boomerang distributes 100% of the SBD and up to 80% of the Curation Rewards to STEEM POWER Delegators. If you want to bid for votes or want to delegate SP please read the @boomerang whitepaper.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
This post has received a 13.33 % upvote from @upgoater thanks to: @emrebeyler.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
This wonderful post has received a bellyrub 1.16 % upvote from @bellyrub thanks to this cool cat: @emrebeyler. My pops @zeartul is one of your top steemit witness, if you like my bellyrubs please go vote for him, if you love what he is doing vote for this comment as well.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
This post has received a 12.10 % upvote from @lovejuice thanks to: @emrebeyler. They love you, so does Aggroed. Please be sure to vote for Witnesses at https://steemit.com/~witnesses.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Birthdaypost !BEER
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
View or trade
BEER
.Hey @emrebeyler, here is a little bit of
BEER
for you. Enjoy it!Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit