<center>  </center> A few weeks ago as I was working on the steempress voting bot I figured it would be a nice idea to implement the steemcleaner blacklist to avoid voting on bad content that will get flagged anyways. So I reached out to @patrice and realized that there wasn't one. But There was an excel spreadsheet. So I made a first version which just pulled everything from that spreadsheet and auto updated. But then I realized that while I'm at it I might as well write a complete api for them. The needs are relatively simple : - An api to perform Create Read Update Delete (CRUD) on the data. - Authentification via steem accounts to prevent people from editing the data - A get function which returns if the user is in the blacklist or low quality list But then I wanted to produce a really clean a good product with tons of comprehensive error messages and an easy to read code which took quite some time to get right. The code can be found here : https://github.com/drov0/sc-api ## Database architecture : <center></center> ### _group : An abuser may have several accounts, this table is here to provide an id that will be put on the lists so that you can easily link accounts to a specific abuser. * name : Name of the group (Eg : noganoo) * Description : Description of the abuser ### blacklist / low quality Those are the actual lists where we store the account names. * name (primary key) : name of the account * _group (foreign key on the id field from the _group table) : group id of the user. Note that the foreign key has ON DELETE CASCADE, so if you delete the group, all the users that had that id on both lists will be deleted as well. * category : flag category, it's used to determine at which percent the bot should flag it. * added_by : username of the person reporting that abuser. # API Endpoints All queries must be done on the root (aka /) via a post request with a single variable "data" which will contain a json string with the data. If you have curl a good way to test it is to use this command : > curl --data 'data={json_string}' <http://localhost:8080> If you have trouble reading the json, I encourage you to use https://jsoneditoronline.org/ to set it to a more readable format. All operations except the get operation require authentication. if you provide an incorrect json the api will return : ``` {error:"Invalid json"} ``` If you provide an incorrect action the api will return : ``` {error: "Unknown action"} ``` If the api had an sql error the api will return ``` {error: "Internal error"} ``` In that case please contact me with the data you sent this should never happen. ## Add a group > curl --data 'data={"data":{"action":"add","list":"group","name":"noganoo","description":"The infamous spammer", "username":"howo", wif:"yourwifhere", "type":"memo"}}' <http://localhost:8080> > Parameters : { "data": { "action": "add", // create action "list": "group", // Create a new group "name": "noganoo", // name of the new group "description": "The infamous spammer", // Description of the group "username": "howo", // Since it's a create operation you have to authenticate "wif": "yourwifhere", // Your private posting or memo key "type": "memo" // memo if you used your private memo key or posting if you used your posting key } } ### Returns : ``` {ok:"ok"} ``` If all went well ``` {error: "Group name already defined"} ``` If there is already a group by that name ``` {error: "invalid name or description"} ``` If you did not provide a name or description parameter or if one of those is empty. ## Add an user to the blacklist/low quality list > curl --data 'data={"data":{"action":"add","list":"blacklist","name":"noganoo","group":"noganoo","category":"1","added_by":"patrice", "username":"howo",wif:"yourwifhere", "type":"memo"}}' http://localhost:8080 { "data": { "action": "add", // Create action "list": "blacklist", // Add an user to the blacklist list "name": "Spammer123", // account name "group": "noganoo", // group (group must exist) "category": "1", // Flag category "added_by": "patrice", // User that added it "username": "howo", // Since it's a create operation you have to authenticate "wif": "yourwifhere", // Your private posting or memo key "type": "memo" // memo if you used your private memo key or posting if you used your posting key } } **Same goes to add an user to the low_quality list except the "list" parameter is to be set to "low_quality"** example : > curl --data 'data={"data":{"action":"add","list":"low_quality","name":"noganoo","group":"noganoo","category":"1","added_by":"patrice", "username":"howo",wif:"yourwifhere", "type":"memo"}}' http://localhost:8080 ### Returns : ``` {ok: "ok"} ``` If all went well ``` {error: "User is already in the low_quality list"} ``` If you try to insert an user in the blacklist but he's already in the low_quality list ``` {error: "User is already in the blacklist list"} ``` If you try to insert an user in the low_quality but he's already in the blacklist ``` {error: "User is already in the list"} ``` If you try to insert an user in a list and he's already in it. ``` {error: "Group name unknown"} ``` If the group name provided is unknown ``` {error: "invalid parameters."} ``` If you did not set the parameters correctly. ## Edit a group > curl --data 'data={"data":{"action":"edit","list":"group","name":"noganoo","description":"meanie", "username":"howo",wif:"yourwifhere", "type":"memo"}}' http://localhost:8080 { "data": { "action": "edit", // edit action "list": "group", // edit a group "name": "noganoo", // name of the group to edit "description": "Stole my sweet roll.", // Updated description of the group "username": "howo", // Since it's an edit operation you have to authenticate "wif": "yourwifhere", // Your private posting or memo key "type": "memo" // memo if you used your private memo key or posting if you used your posting key } } ### Returns ``` {ok: "ok"} ``` If all went well ``` {error: "group not found"} ``` If you provided a group name that you does not exists ``` {error: "invalid name or description"} ``` If you did not provide a name or description parameter or if one of those is empty. ### Edit the blacklist/low_quality list > curl --data 'data={"data":{"action":"edit","list":"blacklist","name":"noganoo","group":"noganoo","category":"1","added_by":"patrice", "username":"howo",wif:"yourwifhere", "type":"memo"}}' http://localhost:8080 { "data": { "action": "edit", // Edit action "list": "blacklist", // edit the entry in the blacklist list "name": "spammer123", // account name "group": "noganoo", // group (group must exist) "category": "1", // Flag category "added_by": "patrice", // User that added it "username": "howo", // Since it's an edit operation you have to authenticate "wif": "yourwifhere", // Your private posting or memo key "type": "memo" // memo if you used your private memo key or posting if you used your posting key } } **Same goes to edit an user in the low_quality list except the "list" parameter is to be set to "low_quality"** ### Returns : ``` {ok: "ok"} ``` If everything went well ``` {error: "username not in the list"} ``` If you provided an username that is not in the list. ``` {error: "Group name unknown"} ``` If you provided a group name that is not in the _group table ``` {error: "invalid parameters."} ``` If you did not set the parameters correctly. ## Delete a group > curl --data 'data={"data":{"action":"delete","list":"group","name":"noganoo", "username":"howo",wif:"yourwifhere", "type":"memo"}}' http://localhost:8080 { "data": { "action": "delete", // Delete operation "list": "group", // Delete from the group table "name": "noganoo", // Group name to delete "username": "howo", // Since it's a delete operation you have to authenticate "wif": "yourwifhere", // Your private posting or memo key "type": "memo"// memo if you used your private memo key or posting if you used your posting key } } Note that if you delete the group, all the users that had that id on both lists will be **deleted as well**. ### Returns : ``` {ok: "ok"} ``` If all went well ``` {error: "group not found"} ``` If you provided a group name that doesn't exists ``` {error: "invalid name"} ``` If you did not provide a group name or if the group name is empty. ### Delete from a list > curl --data 'data={"data":{"action":"delete","list":"blacklist","name":"spammer123", "username":"howo",wif:"yourwifhere", "type":"memo"}}' http://localhost:8080 { "data": { "action": "delete", // Delete operation "list": "blacklist", // Delete from the backlist "name": "spammer123", // Name of the user to delete "username": "howo", // Since it's a delete operation you have to authenticate "wif": "yourwifhere", // Your private posting or memo key "type": "memo" // memo if you used your private memo key or posting if you used your posting key } } ### Returns ``` {ok: "ok"} ``` If all went well. ``` {error: "username not in the list"} ``` If you try to delete an username that is not in the list ``` {error: "invalid parameters."} ``` If you do not provide a name ``` {error: "Unknown list"} ``` If the list parameter is neither group blacklist or low_quality ## Get an user > curl --data 'data={"data":{"action":"get","name":"noganoo"}}' http://localhost:8080 { "data": { "action": "get", // get operation "name": "noganoo" // Username that you want to test } } ### Returns : ```{list:"blacklist"}``` If the user is in the blacklist ```{list:"low_quality"}``` If the user is in the low quality list ```{list:"none"}``` If the user is in neither (yey !) ```{error: "invalid parameters."}``` If the name parameter is not set # Technology Stack The tech stack is pretty simple : * Nodejs with express to receive requests * Mysql to store the data itself * Steemjs to handle authentification # Roadmap If I manage to get some time I'll do : * Convert the API to rest * write an actual website on top of the api to allow the steemcleaners folks to interact with the api without any technical knowledge * Do all the //TODO in the code * Actually put it in a production server to be used # How to contribute? There are a few //TODO comments in the code, you should start by implementing those. Then submitting a pull request. But of course any improvement is welcome :)
author | howo | ||||||
---|---|---|---|---|---|---|---|
permlink | steemcleaners-api | ||||||
category | utopian-io | ||||||
json_metadata | "{"community":"utopian","app":"utopian/1.0.0","format":"markdown","repository":{"id":131634600,"name":"sc-api","full_name":"drov0/sc-api","html_url":"https://github.com/drov0/sc-api","fork":false,"owner":{"login":"drov0"}},"pullRequests":[],"platform":"github","type":"development","tags":["utopian-io","steemdev","technology","steem","programming"],"users":["patrice"],"links":["https://github.com/drov0/sc-api","http://localhost:8080","https://jsoneditoronline.org/"],"image":["https://steemitimages.com/DQmNc5J8wnGVEjoSEt1uFR5ya8E2VoidhuTVHTok49vue94/SteemCleaners.png","https://steemitimages.com/DQmWfHbg1wDXcqwV7Fy5ezu1PXBQXD9fZxkGKYiWCngFXQo/image.png"],"moderator":null,"config":{"questions":[{"question":"How would you describe the formatting, language and overall presentation of the post?","question_id":"dev-1","answers":[{"answer":"The post is of very high quality.","answer_id":"dev-1-a-1","value":10},{"answer":"The post is of decent quality, but not spectacular in any way.","answer_id":"dev-1-a-2","value":7},{"answer":"The post is poorly written and/or formatted, but readable.","answer_id":"dev-1-a-3","value":3},{"answer":"The post is really hard to read and the content is barely understandable.","answer_id":"dev-1-a-4","value":0}]},{"question":"How would you rate the impact and significance of the contribution to the project and/or open source ecosystem in terms of uniqueness, usefulness and potential future applications?","question_id":"dev-2","answers":[{"answer":"This contribution adds high value and holds great significance for the project and/or open source ecosystem.","answer_id":"dev-2-a-1","value":35},{"answer":"This contribution adds significant value to the project and/or open source ecosystem. ","answer_id":"dev-2-a-2","value":23},{"answer":"This contribution adds some value to the project and/or open source ecosystem.","answer_id":"dev-2-a-3","value":12.5},{"answer":"This contribution hold no value and is insignificant in impact. ","answer_id":"dev-2-a-4","value":0}]},{"question":"How would you rate the total volume of work invested into this contribution?","question_id":"dev-3","answers":[{"answer":"This contribution appears to have demanded a lot of intensive work.","answer_id":"dev-3-a-1","value":20},{"answer":"This contribution appears to have required an average volume of work.","answer_id":"dev-3-a-2","value":14},{"answer":"This contribution shows some work done.","answer_id":"dev-3-a-3","value":6},{"answer":"This contribution shows no work done.","answer_id":"dev-3-a-4","value":0}]},{"question":"How would you rate the quality of the code submitted?","question_id":"dev-4","answers":[{"answer":"High - it follows all best practices. ","answer_id":"dev-4-a-1","value":20},{"answer":"Average - it follows most best practices.","answer_id":"dev-4-a-2","value":14},{"answer":"Low - it follows some best practices.","answer_id":"dev-4-a-3","value":6},{"answer":"Very low - it doesn't follow any best practices. ","answer_id":"dev-4-a-4","value":0}]},{"question":"How would you rate the knowledge and expertise necessary to fix the bug / implement the added feature(s)?","question_id":"dev-5","answers":[{"answer":"High - a lot of research and specific knowledge was required.","answer_id":"dev-5-a-1","value":7.5},{"answer":"Average - some research and knowledge was required.","answer_id":"dev-5-a-2","value":5.25},{"answer":"Low - not much knowledge or skill were required.","answer_id":"dev-5-a-3","value":2.25},{"answer":"Insignificant - no knowledge or skills were necessary.","answer_id":"dev-5-a-4","value":0}]},{"question":"How would you rate the accuracy and readability of the commit messages?","question_id":"dev-6","answers":[{"answer":"High - they are concise, descriptive and consistent. ","answer_id":"dev-6-a-1","value":2.5},{"answer":"Average - they are mostly concise, descriptive and consistent. ","answer_id":"dev-6-a-2","value":2},{"answer":"Low - they could be more concise, descriptive or consistent.","answer_id":"dev-6-a-3","value":0.75},{"answer":"Very low - they aren't concise, descriptive or consistent at all.","answer_id":"dev-6-a-4","value":0}]},{"question":"How do you rate the quality of the comments in the code?","question_id":"dev-7","answers":[{"answer":"High - everything is well-commented and adds to the readability of the code. ","answer_id":"dev-7-a-1","value":5},{"answer":"Average - most of the code is commented and most if it adds to the readability of the code.","answer_id":"dev-7-a-2","value":3},{"answer":"Low - little of the code is commented, but it still adds to the readability.","answer_id":"dev-7-a-3","value":1.5},{"answer":"Very low - the added comments provide no value or are not present at all.","answer_id":"dev-7-a-4","value":0}]}]},"questions":null,"score":null,"total_influence":null,"staff_pick":null,"staff_pick_by":null}" | ||||||
created | 2018-05-03 15:06:12 | ||||||
last_update | 2018-05-03 15:50:57 | ||||||
depth | 0 | ||||||
children | 12 | ||||||
last_payout | 2018-05-10 15:06:12 | ||||||
cashout_time | 1969-12-31 23:59:59 | ||||||
total_payout_value | 179.153 HBD | ||||||
curator_payout_value | 51.128 HBD | ||||||
pending_payout_value | 0.000 HBD | ||||||
promoted | 0.000 HBD | ||||||
body_length | 10,862 | ||||||
author_reputation | 515,737,941,459,006 | ||||||
root_title | "Steemcleaners API" | ||||||
beneficiaries |
| ||||||
max_accepted_payout | 1,000,000.000 HBD | ||||||
percent_hbd | 10,000 | ||||||
post_id | 53,658,422 | ||||||
net_rshares | 47,073,575,173,767 | ||||||
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
drifter1 | 0 | 8,066,673,614 | 100% | ||
ausbitbank | 0 | 4,640,328,800,677 | 100% | ||
arcange | 0 | 96,217,512,890 | 15% | ||
raphaelle | 0 | 6,700,552,615 | 15% | ||
susanne | 0 | 2,120,182,695,321 | 100% | ||
remlaps | 0 | 9,032,052,829 | 100% | ||
lemouth | 0 | 210,472,696,824 | 50% | ||
jacobts | 0 | 13,554,853,789 | 10% | ||
sambillingham | 0 | 4,520,754,449 | 100% | ||
jamzed | 0 | 24,103,518,087 | 100% | ||
alfarisi | 0 | 0 | 0% | ||
personz | 0 | 32,715,094,565 | 100% | ||
tarazkp | 0 | 121,686,588,825 | 8% | ||
fredrikaa | 0 | 451,716,014,673 | 100% | ||
drakos | 0 | 1,616,928,600,390 | 100% | ||
suesa | 0 | 364,657,709,286 | 100% | ||
saunter | 0 | 31,388,219,881 | 100% | ||
m31 | 0 | 128,250,364,713 | 100% | ||
howo | 0 | 167,991,315,432 | 100% | ||
droida | 0 | 553,512,389 | 100% | ||
fishmon | 0 | 2,778,260,661 | 50% | ||
gregory.latinier | 0 | 27,661,369,421 | 100% | ||
cifer | 0 | 4,180,431,447 | 80% | ||
zellious | 0 | 5,705,118,354 | 100% | ||
free999enigma | 0 | 117,431,222,694 | 100% | ||
gray00 | 0 | 0 | 100% | ||
scorer | 0 | 19,804,553,969 | 10% | ||
yabapmatt | 0 | 1,142,652,547,288 | 100% | ||
makerhacks | 0 | 10,016,023,583 | 20% | ||
steemitcards | 0 | 94,236,474 | 50% | ||
utopian-io | 0 | 35,461,137,260,950 | 24% | ||
babangsunan | 0 | 82,256,282 | 100% | ||
alexs1320 | 0 | 39,454,406,660 | 100% | ||
cpufronz | 0 | 3,352,369,714 | 100% | ||
tdre | 0 | 44,117,274,381 | 100% | ||
cabez | 0 | 599,018,491 | 100% | ||
jjay | 0 | 659,970,985 | 100% | ||
positivelife | 0 | 306,363,992 | 50% | ||
saqibnazir | 0 | 201,613,565 | 100% | ||
elza3000 | 0 | 339,881,399 | 100% | ||
holger80 | 0 | 102,614,403,089 | 50% | ||
michaelizer | 0 | 8,844,523,543 | 100% | ||
vu-quoc-huy | 0 | 882,077,290 | 100% | ||
eddiespino | 0 | 2,318,252,200 | 100% | ||
galoisconnection | 0 | 599,919,730 | 100% | ||
ulisessabeque | 0 | 225,844,871 | 30% | ||
yazdani33 | 0 | 580,865,585 | 100% | ||
lilianajaimes | 0 | 305,976,090 | 50% | ||
afrid | 0 | 52,090,693 | 100% | ||
zcool | 0 | 127,101,563 | 10% | ||
thecase | 0 | 306,260,641 | 50% | ||
eltoroo | 0 | 307,231,115 | 50% | ||
gadrian | 0 | 12,558,325,625 | 100% | ||
raimbow | 0 | 307,173,913 | 50% | ||
funcounts | 0 | 542,582,798 | 100% | ||
neavvy | 0 | 779,906,472 | 100% | ||
jlalvarez | 0 | 522,308,689 | 100% | ||
claroscuro | 0 | 605,391,792 | 100% | ||
jhonyitan | 0 | 570,412,373 | 100% | ||
josepiamba | 0 | 229,073,070 | 75% | ||
ga10 | 0 | 601,334,561 | 100% | ||
yacneris | 0 | 575,476,636 | 100% | ||
isabel17 | 0 | 607,738,917 | 100% | ||
fragmentado | 0 | 525,481,611 | 100% | ||
daboinsteemit | 0 | 606,254,485 | 100% | ||
malorne | 0 | 599,771,263 | 100% | ||
fergynote | 0 | 462,677,324 | 100% | ||
elwasi | 0 | 400,685,886 | 100% | ||
hjstreet2 | 0 | 587,019,546 | 100% | ||
hjstreet | 0 | 577,847,365 | 100% | ||
yeico | 0 | 581,256,132 | 100% | ||
sweetemily | 0 | 458,485,404 | 100% | ||
malorne3 | 0 | 452,372,265 | 100% | ||
mercygourmet | 0 | 458,454,855 | 100% | ||
eldonking | 0 | 507,356,707 | 100% | ||
mechyz12 | 0 | 606,911,285 | 100% | ||
jocelyng | 0 | 461,510,592 | 100% | ||
freiver | 0 | 388,479,307 | 100% | ||
yitsmar | 0 | 467,547,903 | 100% | ||
roinell | 0 | 604,919,882 | 100% | ||
mxpuckdev | 0 | 122,159,140 | 100% | ||
salmanrajz | 0 | 0 | 100% | ||
xlogan | 0 | 0 | 100% |
Thanks for the contribution. It has been approved. ---------------------------------------------------------------------- Need help? Write a ticket on https://support.utopian.io. Chat with us on [Discord](https://discord.gg/uTyJkNm). **[[utopian-moderator]](https://utopian.io/moderators)**
author | amosbastian |
---|---|
permlink | re-howo-steemcleaners-api-20180505t120251644z |
category | utopian-io |
json_metadata | {"tags":["utopian-io"],"links":["https://support.utopian.io","https://discord.gg/uTyJkNm","https://utopian.io/moderators"],"app":"steemit/0.1"} |
created | 2018-05-05 12:02:51 |
last_update | 2018-05-05 12:02:51 |
depth | 1 |
children | 0 |
last_payout | 2018-05-12 12:02:51 |
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 | 292 |
author_reputation | 174,473,586,900,705 |
root_title | "Steemcleaners API" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 54,010,669 |
net_rshares | 0 |
Cool, will take a deeper look at it this weekend and hope to find sth I can contribute. Really glad that someone did this ;)
author | antonsteemit |
---|---|
permlink | re-howo-steemcleaners-api-20180503t182412195z |
category | utopian-io |
json_metadata | {"tags":["utopian-io"],"community":"busy","app":"busy/2.4.0"} |
created | 2018-05-03 18:24:15 |
last_update | 2018-05-03 18:24:15 |
depth | 1 |
children | 1 |
last_payout | 2018-05-10 18:24:15 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.472 HBD |
curator_payout_value | 0.020 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 126 |
author_reputation | 7,534,465,964,895 |
root_title | "Steemcleaners API" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 53,689,617 |
net_rshares | 89,330,359,206 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
howo | 0 | 84,837,773,727 | 51% | ||
growingpower | 0 | 4,492,585,479 | 100% |
Thanks ! Feel free to ask me any question :)
author | howo |
---|---|
permlink | re-antonsteemit-re-howo-steemcleaners-api-20180503t183153244z |
category | utopian-io |
json_metadata | {"tags":["utopian-io"],"app":"steemit/0.1"} |
created | 2018-05-03 18:31:54 |
last_update | 2018-05-03 18:31:54 |
depth | 2 |
children | 0 |
last_payout | 2018-05-10 18:31:54 |
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 | 44 |
author_reputation | 515,737,941,459,006 |
root_title | "Steemcleaners API" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 53,690,785 |
net_rshares | 0 |
You have a minor misspelling in the following sentence: <blockquote> Nodejs with express to recieve requests.</blockquote> It should be <i>receive</i> instead of <i>recieve</i>.
author | grammarnazi |
---|---|
permlink | re-howo-steemcleaners-api-20180503t150616618z |
category | utopian-io |
json_metadata | {"app":"steemit"} |
created | 2018-05-03 15:06:15 |
last_update | 2018-05-03 15:06:15 |
depth | 1 |
children | 1 |
last_payout | 2018-05-10 15:06:15 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.274 HBD |
curator_payout_value | 0.031 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 177 |
author_reputation | -144,064,903,190 |
root_title | "Steemcleaners API" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 53,658,435 |
net_rshares | 55,548,093,795 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
anomaly | 0 | 231,220,179 | 1% | ||
saunter | 0 | 30,118,176,302 | 100% | ||
howo | 0 | 25,198,697,314 | 15% |
Good bot.
author | howo |
---|---|
permlink | re-grammarnazi-re-howo-steemcleaners-api-20180503t151255726z |
category | utopian-io |
json_metadata | {"tags":["utopian-io"],"app":"steemit/0.1"} |
created | 2018-05-03 15:12:57 |
last_update | 2018-05-03 15:12:57 |
depth | 2 |
children | 0 |
last_payout | 2018-05-10 15:12:57 |
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 | 9 |
author_reputation | 515,737,941,459,006 |
root_title | "Steemcleaners API" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 53,659,644 |
net_rshares | 541,280,071 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
droida | 0 | 541,280,071 | 100% |
Now I understand why you are constantly sleepless and tired :)
author | lemouth |
---|---|
permlink | re-howo-steemcleaners-api-20180504t074144310z |
category | utopian-io |
json_metadata | {"tags":["utopian-io"],"app":"steemit/0.1"} |
created | 2018-05-04 07:41:45 |
last_update | 2018-05-04 07:41:45 |
depth | 1 |
children | 1 |
last_payout | 2018-05-11 07:41:45 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.361 HBD |
curator_payout_value | 0.120 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 62 |
author_reputation | 338,011,164,701,274 |
root_title | "Steemcleaners API" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 53,789,827 |
net_rshares | 87,391,844,086 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
howo | 0 | 87,391,844,086 | 52% |
That's one of the reasons :p
author | howo |
---|---|
permlink | re-lemouth-re-howo-steemcleaners-api-20180504t120743902z |
category | utopian-io |
json_metadata | {"tags":["utopian-io"],"app":"steemit/0.1"} |
created | 2018-05-04 12:07:45 |
last_update | 2018-05-04 12:07:45 |
depth | 2 |
children | 0 |
last_payout | 2018-05-11 12:07: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 | 28 |
author_reputation | 515,737,941,459,006 |
root_title | "Steemcleaners API" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 53,826,324 |
net_rshares | 0 |
wow that is amazing keep up the good work sir
author | samuel9135 |
---|---|
permlink | re-howo-steemcleaners-api-20180507t093704391z |
category | utopian-io |
json_metadata | {"tags":["utopian-io"],"app":"steemit/0.1"} |
created | 2018-05-07 09:37:09 |
last_update | 2018-05-07 09:37:09 |
depth | 1 |
children | 0 |
last_payout | 2018-05-14 09:37:09 |
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 | 45 |
author_reputation | 2,854,536,469,477 |
root_title | "Steemcleaners API" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 54,348,578 |
net_rshares | 0 |
Great idea! I like your thought behind it. Check [my post](https://steemit.com/introduceyourself/@itsadel/reintroducing-myself-plans-getting-ready-for-a-summer-of-photography) as well
author | steem881 |
---|---|
permlink | re-steemcleaners-api-20180503t154015 |
category | utopian-io |
json_metadata | "" |
created | 2018-05-03 15:40:15 |
last_update | 2018-05-03 15:40:15 |
depth | 1 |
children | 0 |
last_payout | 2018-05-10 15:40: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 | 183 |
author_reputation | -796,876,938,732 |
root_title | "Steemcleaners API" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 53,664,164 |
net_rshares | 0 |
Awesome post!! Keep it up and check out [THIS POST](https://steemit.com/introduceyourself/@itsadel/reintroducing-myself-plans-getting-ready-for-a-summer-of-photography) as well as I have something similar.
author | steem881 |
---|---|
permlink | re-steemcleaners-api-20180503t155853 |
category | utopian-io |
json_metadata | "" |
created | 2018-05-03 15:58:54 |
last_update | 2018-05-03 15:58:54 |
depth | 1 |
children | 0 |
last_payout | 2018-05-10 15:58:54 |
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 | 205 |
author_reputation | -796,876,938,732 |
root_title | "Steemcleaners API" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 53,667,203 |
net_rshares | 0 |
<center>https://steemitimages.com/200x200/https://s-media-cache-ak0.pinimg.com/originals/81/28/3c/81283c6aed7bdb5b9f8ad73b8ce62c2f.jpg</center> --- <center>Hello @howo , Congratulations ✅ . Your content began to appear in the hot section. I am the information account of "SteemBotTracker" site. </center> --- <center> Your Informations Total SBD: 2.426 Total STEEM: 0.016 </center> --- <center> I recommend to increase this; You can make "Resteem" and advertise to the followers of the whale accounts. "Resteem Bot" for you; ✅ The most profitable Resteem Whale @hottopic has 18.500 Followers + 5200 Sp + Upvote with min +45 accounts. </center> --- <center> You can purchase "upvote" by bid bots. "Upvote Bot" ✅ The most profitable whale in the last round. @smartsteem </center> --- <center> I'm taking this message once. You need to use the #steembottrackerr tag for more information. Those who "upvote" this interpretation will be awarded a "UpVote" prize of 100 Sbd per week per person. I am a bot, I can not answer the comment. I hope I could help. Good luck. Sorry if I disturbed you. </center>
author | steembottrackerr |
---|---|
permlink | 20180515t104603208z |
category | utopian-io |
json_metadata | {"tags":["advice"],"app":"steemjs/test"} |
created | 2018-05-15 10:46:09 |
last_update | 2018-05-15 10:46:09 |
depth | 1 |
children | 0 |
last_payout | 2018-05-22 10:46:09 |
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,129 |
author_reputation | -1,493,369,324,060 |
root_title | "Steemcleaners API" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 55,802,740 |
net_rshares | 0 |
#### Hey @howo We're already looking forward to your next contribution! ##### Utopian Witness! <a href="https://v2.steemconnect.com/sign/account-witness-vote?witness=utopian-io&approve=1">Vote for Utopian Witness!</a> We are made of developers, system administrators, entrepreneurs, artists, content creators, thinkers. We embrace every nationality, mindset and belief. **Want to chat? Join us on Discord https://discord.gg/h52nFrV**
author | utopian-io |
---|---|
permlink | re-howo-steemcleaners-api-20180506t004843238z |
category | utopian-io |
json_metadata | {"tags":["utopian-io"],"users":["howo"],"links":["https://v2.steemconnect.com/sign/account-witness-vote?witness=utopian-io&approve=1","https://discord.gg/h52nFrV"],"app":"steemit/0.1"} |
created | 2018-05-06 00:48:51 |
last_update | 2018-05-06 00:48:51 |
depth | 1 |
children | 0 |
last_payout | 2018-05-13 00:48:51 |
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 | 435 |
author_reputation | 152,955,367,999,756 |
root_title | "Steemcleaners API" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 54,110,072 |
net_rshares | 0 |