REPO: https://github.com/knacksteem/knacksteem-api
Knacksteem is a decentralized community built on the Steem blockchain. It is a platform for people with amazing abilities and talents to showcase and promote them directly to their audience and get compensated with tangible rewards.
The request/task
We are looking for a react dev who could work on creating a voting bot for knacksteem project.
Specification
- The bot should be able to vote on approved posts from their various categories. (
v1/stats/moderation/approved
) - keep track of the knacksteem token distribution on our db (MongoDB)
- Also, Utilize the Steem blockchain
custom_JSON
for effective token distribution. - Should work with knacksteem back-end
Bot's workflow
The bot should start voting the moment account VP hits 99.9%, and as well stop voting the moment it reaches 80% and wait for it to refill.
Each category should have different caps of the voting %. For example:
Category X has a Cap of 50%
Category Y has a Cap of 40% and
Category Z has a Cap of 20%
This mean, the bot should not vote higher than the Cap assigned for each category.
Vote % calculation
Each contribution will be rated from 1-100 by a moderator. Let say, a contribution in Category X is given a score 60/100, the bot should take the value of the score and multiply it by the category max Cap.
Like this. 60 X 50/100=30
This means that the bot should vote that contribution with 30% power.
This is the same for every other category.
Category score.
- Tech Trends [30]
- Gaming [20]
- Documentary[40]
- Altruism [25]
- Jokes and Humour [20]
- Art [40]
- Music/Song[45]
- DIY [50]
- Fashion [35]
KNT distribution
A simple function to distribute and keep track of the KNT distributed to the users on own db. This could also be achieved by utilizing the Steem blockchain's custom_JSON
to keep track or record of this user. How this token should be distributed is already explained here with the technical details. I will highlight them here in the quote;
Contributors
- Eligible contributions must have undergone the evaluation process by either a moderator or, a supervisor. This contribution will be scored according to its quality. from 0-100.
- Each user can earn 250KNT (KNT represents knacktokens) max on a contribution.
- To calculate the amount of token earned in a post, we calculate;
Value of contribution score
xKNT max per contribution
/the max score a contribution can get
. Let's say your contribution got 30 as contribution score, the calculation would be30
x250KNT
/100
=75KNT
.- Upvote value or percentage may vary across knacksteem categories.
Sponsors (SP delegators)
SP delegators as we like to call them, are entitled to this token distribution, in addition to the 12% beneficiary reward from all the posts made via our front-end. This 12% beneficiary is distributed pro-rata to the amount of SP delegated. Another 3% is reserved to reward the team.
Let's make it simple;
10 million KNT is reserved for @knacksteem.org SP delegators in which 100,000KNT will be distributed to SP delegators daily. This will be distributed according to the share of SP delegated to the knacksteem official Steem account (@knacksteem.org). In more detail, @knacksteem.org currently have 584 delegated SP. If a user. (Let's say @bob) delegates 200 SP to @knacksteem.org, this is how @bob's share will be calculated;
200
x100,000KNT
/584
=34,246KNT
. This is calculated asAmount delegted
xThe total KNT share on daily basis
/The total delegated SP to @knacksteem.org
. This means @bob will get 34,246KNT daily. While this may seem huge, the number will scale down as we get more SP delegators which is a good thing, as this will cause the value of the token to rise due to demand. However, the more SP a user delegate, the more KNT they get.
Stack
Node JS
Bounty
100 Steem is reserved for the solver of this task.
Deadline
The deadline for this task request is 4 days from the day a developer is assigned to it.
Contact
You could contact me via a direct message on discord with the username; (knowledges (Smiles' at all)#3295). You could also leave a comment on this post and I shall respond to it as soon as possible.
Github
https://github.com/onozasi
Helpful resources: Actifit voting bot
Thanks for the task request, @knowledges! I have a bit of experience writing voting bots, so I was wondering if there is a specific language you want it written in? Also, which order should the bot vote in (old to new, high score to low score etc.), will there be separate pools for each category etc.? As for the KNT distribution you could maybe check out Actifit's task requests to see who helped them with their token distribution. Good luck!
Your contribution has been evaluated according to Utopian policies and guidelines, as well as a predefined set of questions pertaining to the category.
To view those questions and the relevant answers related to your post, click here.
Need help? Chat with us on Discord.
[utopian-moderator]
Thanks for the review @amosbastian. I did think about the voting order, but I missed it while writing down this TR. The voting order should be from old to new. Now that you've mentioned a separate pool for each category, I think it is a brilliant idea. Honestly, I did not think of it before even though we use similar metric on Utopian voting bot. I will Update this task with this info.
The bot should be developed in React.
It appears that the dev that developed actifit bot has been completely inactive for a while now though, but I'll keep checking.
Thank you!
Thank you for your review, @amosbastian! Keep up the good work!
Solved: https://steemit.com/utopian-io/@jaysermendez/knacksteem-api-delegators-tokens-distribution-bot-curation-bot-voting-commenting-knt-distribution
I think I should learn how to become a developer.
You should. There are a lot of free resources online to start with :)
Yea. Not just my thing tho
Hi, @knowledges!
You just got a 0.09% upvote from SteemPlus!
To get higher upvotes, earn more SteemPlus Points (SPP). On your Steemit wallet, check your SPP balance and click on "How to earn SPP?" to find out all the ways to earn.
If you're not using SteemPlus yet, please check our last posts in here to see the many ways in which SteemPlus can improve your Steem experience on Steemit and Busy.
Hey, @knowledges!
Thanks for contributing on Utopian.
We’re already looking forward to your next task request!
Get higher incentives and support Utopian.io!
Simply set @utopian.pay as a 5% (or higher) payout beneficiary on your contribution post (via SteemPlus or Steeditor).
Want to chat? Join us on Discord https://discord.gg/h52nFrV.
Vote for Utopian Witness!
This post has been included in the latest edition of SOS Daily News - a digest of all you need to know about the State of Steem.
Editor of the The State of Steem SoS Daily News.
Promoter of The State of Steem SoS Weekly Forums.
Editor of the weekly listing of steem radio shows, podcasts & social broadcasts.
Founder of the A Dollar A Day charitable giving project.
Congratulations @knowledges! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :
Click here to view your Board
If you no longer want to receive notifications, reply to this comment with the word
STOP
Hi @knowledges
I just bumped into your conversation with @devann and I decided to check out your account. Did you give up on Steemit? :(
Yours
Piotr
Hi, @crypto.piotr. I am not not sure why you think that I'm giving up on Steem. But I'm definitely not giving up.
Dear @knowledges
Im glad to hear that buddy. I only noticed that you didn't post in almost 3 weeks so it crossed my mind that perhaps you also gaved up on this platform.
I'm glad to see that I was absolutely wrong :)
Cheers
Piotr
Oh, I see. Well, I am actually super active on the Steem blockchain but, I am usually busy with internal stuff/tasks on the Steem projects that I am very much involved in (utopian-io and knacksteem.org). I will return to posting every day very soon though. Thanks for showing some concern.
Regards.