"My two cents" project, task request bounty.

in utopian-io •  6 years ago  (edited)

Problem:

Steem users are often torn between having to decide to self upvote their own comments or not and if yes by how much.
When comments are self up-voted too much it is seen by some as "abuse".
When comments are not upvoted they get mixed and often lost in comments from comment farmers.
Comment farmers post often automated generic comment, often praise, expecting someone to upvote it.

Solution :

Send STEEM to @my-2-cents, this account will upvote by 0.02 all of future comments of the sender or @recipient (from memo)

Expected result : Better content discovery. If many people use @My-2-cents an organic content discovery layer will still form just above 2¢
The service will keep a small % fee to remove the incentive of comment farmers to also use it.

Implementation details:

Using either Beem (python) or dsteem or Steem-js (javascript)

Monitor the Steem blockchain for transfers sent to account @my-2-cents

If fund received is 0.005 SBD or more refund amount with message "Steem only accepted"

If fund received is more than 0.005 Steem but less than 1 Steem refund amount with message "Please send 1 Steem or more"

if transfer memo ends with "@word" and "word" is 16 character or less, set "word" as "recipient"

if no memo ending with "@..." set sender as "recipient"

if recipient is found database add Steem amount to existing balance.
If not found, create user with balance = steem amount.
send 0.001 Steem transfer with memo, "Thanks, Your balance with @my-2-cents is #.### Steem enough for about # 2¢ upvotes.

append transfer detail to a log file or database,
"timestamp, sender, amount, recipient, txid"

Listen to chain for comments or posts matching any @"recipient" in our database.

if @recipient balance is worth less than 2 cent, reply to comment with "Not more pennies left with us, send more to resume service."
and send refund for the entire remaining balance with same message as memo and remove user from database.

If balance > than 2c, debit 2c worth of steem and vote it with weight to equal 2c

calculate the vote reward/weight representing 2¢ with:

total_vests = vesting_shares + received_vesting_shares - delegated_vesting_shares final_vest = total_vests * 1e6 power = (voting_power * weight / 10000) / 50 rshares = power * final_vest / 10000 estimate = rshares / recent_claims * reward_balance * LAST_FEED_PRICE
from https://developers.steem.io/tutorials-recipes/estimate_upvote but with "sbd_median_price" replaced.

Fetch all chain environment variable needed every 15 minutes or so from get_dynamic_global_properties
and Steem price (LAST_FEED_PRICE) from get_feed_history (last) Example: https://api.steemjs.com/get_feed_history

Every 12h print state of database to a text file with timestamp as name.log

Edit: Vote power equivalent to 2c should be rounded to the highest amount of 10000 rshare.

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Congratulations @my-2-cents! You received a personal award!

Happy Birthday! - You are on the Steem blockchain for 1 year!

You can view your badges on your Steem Board and compare to others on the Steem Ranking

Vote for @Steemitboard as a witness to get one more award and increased upvotes!