#### Repository https://github.com/jnordberg/dsteem/  ## Outline This tutorial is part of the DSTEEM series. We’re digging into DSteem javascript library and make small projects. Learn to interact with the Steem blockchain from your browser using Javascript. Today we’ll be creating a simplified paid bot service. Users send SBD/STEEM in return they receive a vote on a selected post. Making use of the code we created in the [previous tutorial](https://steemit.com/dsteem/@codewithsam/tutorial-getting-started-with-dsteem-auto-vote-bot-1544552622646) we’ll listen for transactions on the blockchain. When our bot receives a `transfer` we’ll check the data and broadcast a response. - [000 - Steem Post Feed With DSteem & Vue ](https://steemit.com/utopian-io/@codewithsam/tutorial-create-a-steem-post-feed-with-vue-and-dsteem-1544114616873) - [001 - Getting Started With DSTeem](https://steemit.com/dsteem/@codewithsam/tutorial-getting-started-with-dsteem-auto-vote-bot-1544552622646) > 👨🏼💻 The full code for the script can be found on [Github](https://github.com/code-with-sam/dsteem-tutorials/tree/master/02/paid-upvote-bot) & [CodePen](https://codepen.io/code-with-sam/pen/GPJzwK?editors=0010) 🚀 #### Requirements - A plain text editor (I use VS Code) - A browser (I use Brave) - Difficulty - Beginner #### Learning Goals - Inspect the transfer transaction type - Create rules for deciding how much our vote is worth - Send votes on a permlink from a memo ## Step 1 - Setup We’re working from the same code we created in the previous tutorial. Grab the [code from Github](https://github.com/code-with-sam/dsteem-tutorials/blob/master/02/paid-upvote-bot/dsteem-tutorial-02-base.html) to get started. If you’re finding this tutorial to start with consider following the previous post before starting this one. Alternatively you can work in [codepen.io - Fork/Save this Pen to get started](https://codepen.io/code-with-sam/pen/Xobwwq?editors=0010) Add your posting key and username for an account you’ll be testing with. ``` const POSTING_KEY = dsteem.PrivateKey.fromString('') // add private posting key const USERNAME = '' // add username ``` ## Step 2 - Update `processBlock()` & `processTransaction()` functions First Step we’ll change out filter function to filter for `transfer` transactions instead of `comments`. ``` .filter( tx => filterTransaction(tx, ‘transfer’) ) ``` let’s go ahead and check that works by inspecting the console. ``` function processTransaction(txData){ console.log(txData) } ```  You’ll notice a transfer transaction contains `to`, `from`, `amount` and `memo` properties. We can make use of the `to` property to make sure we only watch for transactions that relate to the selected user. Adjust the `processTransaction` function to make use of our bot. To see transactions send a test transfer to your selected test account. ``` function processTransaction(txData){ if(txData.to === USERNAME) { console.log(`Transfer sent to bot account`) console.log(txData) } } ``` ## Step 3 - Create `calcVoteWeight()` In the previous tutorial we broadcast a vote over the blockchain using DSteem. We set the voteWeight to `10000` which is a full 100% vote. In this paid voting bot we’ll want to check the amount a user sent, setting a rule for what percentage a user should receive. To make it simple for this tutorial I’m going to set the price as 1SBD is equal to 100% upvote. You can of course come up with some more complicated rules. Out calculation functions should take the amount a user paid and return a vote weight based on set rules. ``` function calcVoteWeight(amountPaid) { const fullVoteCost = 1 } ``` As users can send SBD or STEEM we’ll need to split the amount sent and check the token type. Split the array and save the separate parts. ``` function calcVoteWeight(amountPaid) { const fullVoteCost = 1 const transfer = amountPaid.split(' ') const tokenType = transfer[1] const tokenValue = transfer[0] } ``` With our data set it’s time to make a calculation. We work out a percentage based on the amount a user sent. For example if a user sends 0.2SBD they’ll get `(0.2/1)*100 = 20%` ``` function calcVoteWeight(amountPaid) { const fullVoteCost = 1 const transfer = amountPaid.split(' ') const tokenType = transfer[1] const tokenValue = transfer[0] let weight; // bid calculation if (tokenValue >= fullVoteCost) { weight = 100 } else { weight = (tokenValue/fullVoteCost) * 100 } } ``` With this calculation we’re close but we need to also check the type of token sent. Steem/SBD are current different values, if a user sends STEEM it should be worth proportionally less. We also return the value multiplied by 100 as the blockchain full vote is 10000 not 100. ``` let steemToSbdRatio = 0.4 if( tokenType == 'STEEM') { return (weight * steemToSbdRatio) * 100 } else { return weight * 100 } ``` ## Step 4 - Create `permlinkFromMemo(memo)` If a user is paying for a vote from our bot we’ll need to also know which post to update. The typical format for this behaviour is to include the post link in the memo. We can create a helper function here that takes the raw memo data and splits it at a slash. Take the final part of the array created form split, this will be the permlink part of the url. ``` // get the permlink part of a url from memo function permlinkFromMemo(memo){ return memo.split('/').pop() } ``` ## Step 5 - Update `SendVote()` broadcasting function Pulling all of this together we’ll first need to update our `sendVote` function. Switch out the hardcoded weight value with a variable and pass that as a parameter to the function. Also update the logged response as a result. ``` // Broadcast vote using DSteem function sendVote(author, permlink, weight) { client.broadcast.vote({ voter: USERNAME, author: author, permlink: permlink, weight: weight }, POSTING_KEY) .then( (result) => { console.log(`${author} Paid for a ${weight/100}% vote on ${permlink}`) console.log(result) }) } ``` Finally stitch our helpers together from with the `processTransaction()` call ``` function processTransaction(txData){ // example txData - {from: "username", to: "username", amount: "0.000 STEEM", memo: "...."} if(txData.to === USERNAME) { // pass amount value to calculation function let voteWeight = calcVoteWeight(txData.amount) // get the permlink property from the memo data with the helper let permlink = permlinkFromMemo(txData.memo) // broadcast the vote with relevant data sendVote(txData.from, permlink, voteWeight) } } ``` Okay. With that you’re paid voting bot is ready to roll! Go ahead and send some test transfers with memo’s 🙌. You can adjust the rules within `calcVoteWeight()` to be as complex as needed. You may decide certain hashtags or users get a better rate (to do that you would need to look up the data relevant to the permlink). I hope you found this small project helpful for getting to grips with DSteem and making scripts that interact with the blockchain. > 👨🏼💻 The full code for the script can be found on [Github](https://github.com/code-with-sam/dsteem-tutorials/tree/master/02/paid-upvote-bot) & [CodePen](https://codepen.io/code-with-sam/pen/GPJzwK?editors=0010) 🚀 ### Series - DSTEEM Tutorials [000 - Steem Post Feed With DSteem & Vue ](https://steemit.com/utopian-io/@codewithsam/tutorial-create-a-steem-post-feed-with-vue-and-dsteem-1544114616873) [001 - Getting Started With DSTeem - Auto Vote Bot](https://steemit.com/dsteem/@codewithsam/tutorial-getting-started-with-dsteem-auto-vote-bot-1544552622646)
author | codewithsam | ||||||
---|---|---|---|---|---|---|---|
permlink | tutorial-dsteem-basic-paid-voting-bot | ||||||
category | dsteem | ||||||
json_metadata | {"community":"steempeak","app":"steempeak","format":"markdown","tags":["dsteem","utopian-io","tutorials","steemdev","codewithsam"],"users":["codewithsam"],"links":["https://github.com/jnordberg/dsteem/","https://steemit.com/dsteem/@codewithsam/tutorial-getting-started-with-dsteem-auto-vote-bot-1544552622646","https://steemit.com/utopian-io/@codewithsam/tutorial-create-a-steem-post-feed-with-vue-and-dsteem-1544114616873","https://steemit.com/dsteem/@codewithsam/tutorial-getting-started-with-dsteem-auto-vote-bot-1544552622646","https://github.com/code-with-sam/dsteem-tutorials/tree/master/02/paid-upvote-bot","https://codepen.io/code-with-sam/pen/GPJzwK?editors=0010","https://github.com/code-with-sam/dsteem-tutorials/blob/master/02/paid-upvote-bot/dsteem-tutorial-02-base.html","https://codepen.io/code-with-sam/pen/Xobwwq?editors=0010","https://github.com/code-with-sam/dsteem-tutorials/tree/master/02/paid-upvote-bot","https://codepen.io/code-with-sam/pen/GPJzwK?editors=0010"],"image":["https://files.steempeak.com/file/steempeak/codewithsam/gmChIcIc-tutorial-banner-02.jpg","https://files.steempeak.com/file/steempeak/codewithsam/C2kXwzhp-screely-1544612247232.png"]} | ||||||
created | 2018-12-12 20:38:27 | ||||||
last_update | 2018-12-12 20:38:27 | ||||||
depth | 0 | ||||||
children | 8 | ||||||
last_payout | 2018-12-19 20:38:27 | ||||||
cashout_time | 1969-12-31 23:59:59 | ||||||
total_payout_value | 18.175 HBD | ||||||
curator_payout_value | 6.066 HBD | ||||||
pending_payout_value | 0.000 HBD | ||||||
promoted | 0.000 HBD | ||||||
body_length | 7,921 | ||||||
author_reputation | 2,770,507,374,729 | ||||||
root_title | "Tutorial - DSteem - Basic Paid Voting Bot" | ||||||
beneficiaries |
| ||||||
max_accepted_payout | 1,000,000.000 HBD | ||||||
percent_hbd | 10,000 | ||||||
post_id | 76,753,322 | ||||||
net_rshares | 42,524,451,360,279 | ||||||
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
arcange | 0 | 35,230,353,261 | 4% | ||
raphaelle | 0 | 2,122,851,928 | 4% | ||
sambillingham | 0 | 45,448,851,894 | 100% | ||
eforucom | 0 | 25,724,579,453 | 1.19% | ||
steemitboard | 0 | 14,372,000,148 | 1% | ||
miniature-tiger | 0 | 108,347,625,947 | 50% | ||
haiyangdeperci | 0 | 6,908,815,533 | 20% | ||
samotonakatoshi | 0 | 90,498,016 | 40% | ||
accelerator | 0 | 18,042,662,506 | 1.29% | ||
espoem | 0 | 6,612,245,121 | 4% | ||
filipino | 0 | 612,154,639 | 10% | ||
mcfarhat | 0 | 13,469,755,458 | 15.72% | ||
utopian-io | 0 | 40,566,025,605,279 | 29.93% | ||
jaff8 | 0 | 65,855,307,863 | 39.31% | ||
newsrx | 0 | 1,329,094,049 | 100% | ||
mytechtrail | 0 | 672,548,329 | 50% | ||
scipio | 0 | 39,778,845,217 | 16.66% | ||
jpphotography | 0 | 52,527,166,141 | 40% | ||
amosbastian | 0 | 94,743,886,831 | 39.31% | ||
tdre | 0 | 16,807,867,985 | 100% | ||
jjay | 0 | 419,938,356 | 100% | ||
tobias-g | 0 | 44,345,190,209 | 25% | ||
codewithsam | 0 | 2,160,330,731 | 100% | ||
properfraction | 0 | 691,365,763 | 100% | ||
simplymike | 0 | 67,024,723,825 | 35% | ||
hakancelik | 0 | 28,994,599,681 | 50% | ||
jacksartori | 0 | 90,993,836,112 | 100% | ||
alitavirgen | 0 | 216,897,908,200 | 50% | ||
ryuna.siege | 0 | 208,829,505 | 100% | ||
jpphoto | 0 | 108,268,329 | 40% | ||
mightypanda | 0 | 66,672,234,141 | 35% | ||
bullinachinashop | 0 | 3,726,425,703 | 100% | ||
steem-ua | 0 | 767,890,767,847 | 6.46% | ||
nfc | 0 | 14,775,300,387 | 2% | ||
curbot | 0 | 2,155,951,244 | 100% | ||
finallynetwork | 0 | 36,166,190,793 | 100% | ||
bitok.xyz | 0 | 17,492,229,093 | 2% | ||
bluesniper | 0 | 22,745,295,735 | 1.5% | ||
whitebot | 0 | 18,476,979,388 | 1% | ||
ctime | 0 | 7,782,279,639 | 0.3% |
Thank you for your contribution. Below is our review: - The concepts introduced are not new, many similar bits and pieces can be found elsewhere, yet overall I enjoy those tutorials, you're doing a good job writing them. - It's also cool you're using codepen, helps quite a bit for anyone trying to test out and modify/build upon your work. - I would not have used steemToSbdRatio as a constant value. You could have pulled the actual ratio dynamically. - One of your comments mentions a "bid" value, although this is not a bid approach per se, since you are directly processing the upvote for incoming posts regardless of any other incoming vote requests. This actually also brings up another topic, which I hope you will tackle in upcoming work, which is setting limits on how low you want your bot's VM to go, and how often you would process votes, as not to break your 3 seconds limit. Your contribution has been evaluated according to [Utopian policies and guidelines](https://join.utopian.io/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](https://review.utopian.io/result/8/3-1-1-1-1-3-1-3-). ---- Need help? Write a ticket on https://support.utopian.io/. Chat with us on [Discord](https://discord.gg/uTyJkNm). [[utopian-moderator]](https://join.utopian.io/)
author | mcfarhat |
---|---|
permlink | re-codewithsam-tutorial-dsteem-basic-paid-voting-bot-20181213t094801811z |
category | dsteem |
json_metadata | {"tags":["dsteem"],"links":["https://join.utopian.io/guidelines","https://review.utopian.io/result/8/3-1-1-1-1-3-1-3-","https://support.utopian.io/","https://discord.gg/uTyJkNm","https://join.utopian.io/"],"app":"steemit/0.1"} |
created | 2018-12-13 09:48:06 |
last_update | 2018-12-13 09:48:06 |
depth | 1 |
children | 2 |
last_payout | 2018-12-20 09:48:06 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 5.908 HBD |
curator_payout_value | 1.896 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 1,390 |
author_reputation | 150,651,671,367,256 |
root_title | "Tutorial - DSteem - Basic Paid Voting Bot" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 76,777,274 |
net_rshares | 13,120,032,032,955 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
sambillingham | 0 | 34,736,747,724 | 80% | ||
codingdefined | 0 | 15,890,066,339 | 15% | ||
utopian-io | 0 | 12,853,277,739,918 | 8.91% | ||
emrebeyler | 0 | 97,698,011 | 0.01% | ||
amosbastian | 0 | 43,702,802,693 | 17.53% | ||
codewithsam | 0 | 2,160,330,731 | 100% | ||
organicgardener | 0 | 7,734,912,676 | 25% | ||
reazuliqbal | 0 | 6,678,538,907 | 5% | ||
hakancelik | 0 | 28,690,297,693 | 50% | ||
statsexpert | 0 | 8,517,949,240 | 100% | ||
mightypanda | 0 | 113,687,033,858 | 60% | ||
fastandcurious | 0 | 2,551,240,111 | 60% | ||
linknotfound | 0 | 1,425,870,937 | 100% | ||
monster-inc | 0 | 736,964,322 | 100% | ||
yff | 0 | 143,839,795 | 100% |
Hey, thanks for the review and detailed feedback! Totally realise there is a number of similar DSteem tutorials out there. Working to create a consistent catalogue that anyone who follows the tutorials can know and recognise my style. Hopefully there is not too much crossover along the way. No need to re-invent the wheel and all that. I like to think making these more accessible by setting the code up on Codepen.io adds a unique offering too. Would have liked to add dynamic ratios, task queue and some extra rules for paid votes too but felt a tad too much for this one. With out a doubt there are plenty of ways to improve this script.
author | codewithsam |
---|---|
permlink | re-mcfarhat-re-codewithsam-tutorial-dsteem-basic-paid-voting-bot-20181213t103646759z |
category | dsteem |
json_metadata | {"tags":["dsteem"],"community":"steempeak","app":"steempeak"} |
created | 2018-12-13 10:36:48 |
last_update | 2018-12-13 10:36:48 |
depth | 2 |
children | 0 |
last_payout | 2018-12-20 10:36:48 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 646 |
author_reputation | 2,770,507,374,729 |
root_title | "Tutorial - DSteem - Basic Paid Voting Bot" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 76,778,923 |
net_rshares | 0 |
Thank you for your review, @mcfarhat! Keep up the good work!
author | utopian-io |
---|---|
permlink | re-re-codewithsam-tutorial-dsteem-basic-paid-voting-bot-20181213t094801811z-20181215t133531z |
category | dsteem |
json_metadata | "{"app": "beem/0.20.9"}" |
created | 2018-12-15 13:35:33 |
last_update | 2018-12-15 13:35:33 |
depth | 2 |
children | 0 |
last_payout | 2018-12-22 13:35:33 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 60 |
author_reputation | 152,955,367,999,756 |
root_title | "Tutorial - DSteem - Basic Paid Voting Bot" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 76,876,242 |
net_rshares | 0 |
#### Hi @codewithsam! Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation! Your post is eligible for our upvote, thanks to our collaboration with @utopian-io! **Feel free to join our [@steem-ua Discord server](https://discord.gg/KpBNYGz)**
author | steem-ua |
---|---|
permlink | re-tutorial-dsteem-basic-paid-voting-bot-20181213t102743z |
category | dsteem |
json_metadata | "{"app": "beem/0.20.14"}" |
created | 2018-12-13 10:27:45 |
last_update | 2018-12-13 10:27:45 |
depth | 1 |
children | 0 |
last_payout | 2018-12-20 10:27:45 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 290 |
author_reputation | 23,214,230,978,060 |
root_title | "Tutorial - DSteem - Basic Paid Voting Bot" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 76,778,599 |
net_rshares | 0 |
Congratulations @codewithsam! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) : <table><tr><td>https://steemitimages.com/60x70/http://steemitboard.com/@codewithsam/payout.png?201812131917</td><td>You received more than 100 as payout for your posts. Your next target is to reach a total payout of 250</td></tr> </table> <sub>_[Click here to view your Board of Honor](https://steemitboard.com/@codewithsam)_</sub> <sub>_If you no longer want to receive notifications, reply to this comment with the word_ `STOP`</sub> To support your work, I also upvoted your post! > Support [SteemitBoard's project](https://steemit.com/@steemitboard)! **[Vote for its witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1)** and **get one more award**!
author | steemitboard |
---|---|
permlink | steemitboard-notify-codewithsam-20181213t202523000z |
category | dsteem |
json_metadata | {"image":["https://steemitboard.com/img/notify.png"]} |
created | 2018-12-13 20:25:21 |
last_update | 2018-12-13 20:25:21 |
depth | 1 |
children | 0 |
last_payout | 2018-12-20 20:25:21 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 843 |
author_reputation | 38,975,615,169,260 |
root_title | "Tutorial - DSteem - Basic Paid Voting Bot" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 76,800,075 |
net_rshares | 0 |
Congratulations @codewithsam! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@codewithsam/birthday1.png</td><td>1 Year on Steemit</td></tr></table> <sub>_[Click here to view your Board](https://steemitboard.com/@codewithsam)_</sub> **Do not miss the last post from @steemitboard:** <table><tr><td><a href="https://steemit.com/christmas/@steemitboard/christmas-challenge-send-a-gift-to-to-your-friends-the-party-continues"><img src="https://steemitimages.com/64x128/http://i.cubeupload.com/kf4SJb.png"></a></td><td><a href="https://steemit.com/christmas/@steemitboard/christmas-challenge-send-a-gift-to-to-your-friends-the-party-continues">Christmas Challenge - The party continues</a></td></tr><tr><td><a href="https://steemit.com/christmas/@steemitboard/christmas-challenge-send-a-gift-to-to-your-friends"><img src="https://steemitimages.com/64x128/http://i.cubeupload.com/kf4SJb.png"></a></td><td><a href="https://steemit.com/christmas/@steemitboard/christmas-challenge-send-a-gift-to-to-your-friends">Christmas Challenge - Send a gift to to your friends</a></td></tr></table> > Support [SteemitBoard's project](https://steemit.com/@steemitboard)! **[Vote for its witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1)** and **get one more award**!
author | steemitboard |
---|---|
permlink | steemitboard-notify-codewithsam-20181228t195715000z |
category | dsteem |
json_metadata | {"image":["https://steemitboard.com/img/notify.png"]} |
created | 2018-12-28 19:57:15 |
last_update | 2018-12-28 19:57:15 |
depth | 1 |
children | 0 |
last_payout | 2019-01-04 19:57:15 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 1,350 |
author_reputation | 38,975,615,169,260 |
root_title | "Tutorial - DSteem - Basic Paid Voting Bot" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 77,508,131 |
net_rshares | 0 |
Congratulations @codewithsam! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@codewithsam/birthday2.png</td><td>Happy Birthday! - You are on the Steem blockchain for 2 years!</td></tr></table> <sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@codewithsam) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=codewithsam)_</sub> ###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes!
author | steemitboard |
---|---|
permlink | steemitboard-notify-codewithsam-20191228t191727000z |
category | dsteem |
json_metadata | {"image":["https://steemitboard.com/img/notify.png"]} |
created | 2019-12-28 19:17:27 |
last_update | 2019-12-28 19:17:27 |
depth | 1 |
children | 0 |
last_payout | 2020-01-04 19:17:27 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 632 |
author_reputation | 38,975,615,169,260 |
root_title | "Tutorial - DSteem - Basic Paid Voting Bot" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 93,814,860 |
net_rshares | 0 |
Hey, @codewithsam! **Thanks for contributing on Utopian**. We’re already looking forward to your next contribution! **Get higher incentives and support Utopian.io!** Simply set @utopian.pay as a 5% (or higher) payout beneficiary on your contribution post (via [SteemPlus](https://chrome.google.com/webstore/detail/steemplus/mjbkjgcplmaneajhcbegoffkedeankaj?hl=en) or [Steeditor](https://steeditor.app)). **Want to chat? Join us on Discord https://discord.gg/h52nFrV.** <a href='https://steemconnect.com/sign/account-witness-vote?witness=utopian-io&approve=1'>Vote for Utopian Witness!</a>
author | utopian-io |
---|---|
permlink | re-tutorial-dsteem-basic-paid-voting-bot-20181213t184238z |
category | dsteem |
json_metadata | "{"app": "beem/0.20.9"}" |
created | 2018-12-13 18:42:39 |
last_update | 2018-12-13 18:42:39 |
depth | 1 |
children | 0 |
last_payout | 2018-12-20 18:42:39 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 593 |
author_reputation | 152,955,367,999,756 |
root_title | "Tutorial - DSteem - Basic Paid Voting Bot" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 76,796,544 |
net_rshares | 0 |