
As part of work on the SteemFlagRewards database, reward shares were gatherered and all database rows have been updated. Believe me it wasn't an easy feat. What was the reason you may ask?
Those blasted follow on flags!
A follow on flag is when an SFR user flags a post after another SFR user has already commented. It's an optional feature and, if the user has their own meaningful comment to add, by all means, comment at the top level so the user caught up in abuse may see it more readily.
Otherwise, the user may add a follow on flag mention as a reply to the original flagger mention or SFR bot reply if they don't plan on adding any additional substance to their comment ie a simple "follow on flag for spam @steemflagrewards." comment.
The challenge was knowing the post to query for downvotes on each follow on flag because it varies. The general rule of thumb is for users to reply to the SFR bot. In that case, I know exactly where to look. The parent to the parent to the parent comment.
Yes, it can be confusing as sometimes the flags end up another level up. For example, we had one follow flag that I noticed was a reply to a reply of the SFR bot. That means I needed to query the parent of the parent of the parent of the parent. If I'm not mistaken, it was the great great grandparent comment that had the flag. I had to create a "one off" query to update.

MFW I'm trying to figure this all out.
After a number of passes, I finally managed to update ALL rows with flag_rshares data. Now, we're cooking with fire 🔥!
>>> sql = cursor.execute('SELECT count(*) FROM steemflagrewards WHERE flag_rshares IS NULL')
>>> for q in sql.fetchall():
... q
...
(0,)
The above query was used to determine there were no rows without flag_rshares.
I realized with this data. We can do a lot of cool things such as...
Have you ever wondered the total current dollar amount of all SFR flags?
Well, here it is!
With the rshare data, I was able to perform a query to get the total count of flags and the sum. Using Beem, we could then get the SBD amount. I expected more but we did start out small afterall. We will be able to up this number in no time!
Note, this obviously does not include pre-database flags, prior to @flugschwein's update, that our bot has approved and upvoted. In other words, we've done more than the above number would indidcate.
Now, without further ado...
I present to you the Top 20 Steem Flag Rewards Leaderboard!

Downvoter | Total Flags | sbd_amount | Rank | Image |
---|---|---|---|---|
@themarkymark | 1159 | 123.7261678 | F10 1 Quad | ![]() |
@mids106 | 224 | 92.23802169 | F10 1 Quad | ![]() |
@slobberchops | 510 | 54.90603446 | F10 1 Quad | ![]() |
@steevc | 295 | 17.20588206 | F8 10 Tril | ![]() |
@ipromote | 189 | 15.21638773 | F8 10 Tril | ![]() |
@admiralbot | 650 | 12.08253117 | F8 10 Tril | ![]() |
@kalif | 250 | 11.85104474 | F8 10 Tril | ![]() |
@enforcer48 | 492 | 8.616002872 | F8 10 Tril | ![]() |
@rabbitbot | 334 | 7.159122054 | F8 10 Tril | ![]() |
@freebornangel | 242 | 6.810231887 | F8 10 Tril | ![]() |
@noblebot | 633 | 6.545799485 | F8 10 Tril | ![]() |
@badcontent | 374 | 5.675132055 | F8 10 Tril | ![]() |
@revisesociology | 38 | 4.627696777 | F7 1 Tril | ![]() |
@steemseph | 402 | 4.618156624 | F7 1 Tril | ![]() |
@anthonyadavisii | 197 | 4.601233771 | F7 1 Tril | ![]() |
@zaku | 25 | 4.569293829 | F7 1 Tril | ![]() |
@lovenfreedom | 206 | 3.927161313 | F7 1 Tril | ![]() |
@crokkon | 103 | 3.666082461 | F7 1 Tril | ![]() |
@jacobtothe | 71 | 3.494709893 | F7 1 Tril | ![]() |
@bestofph | 277 | 3.36920761 | F7 1 Tril | ![]() |
Congratulations to @themarkymark for being the top flagger! Shout out to @mids106 and @slobberchops for 2nd and 3rd place, respectively. Kudos to all!
Click the below image to see the commit on the Github Repo for the flag leaderboard code..
In addition to these advancements, it was recommended we try and add a dynamic channel description for #general on our discord and, with a bit of help from @mids106, we were able to get it done.
Click the image below to see the commit on Github. Note, that the general channel ID should be added to the config and will do so on the next update among a number of things recommended by @themarkymark. Improvements are continuous as I said before.
This whole things has been an catalyst for my professional growth. I am thankful for the opportunity to serve and sharpen the ol' sword so to speak. I've seen it written that iron sharpens iron. I've learned by personal experience that it is true. ⚔️ 😉
I also got the database table ready for the healing functionality I discussed in my last report. The next step will be populating said table with all @steemflagrewards / @sfr-mod-fund comments and posts.
The SFR flag mentions are easy as they are already stored. We may want to give thought to protecting user main posts and comments. Either way, we are getting closer to the goal.

My Social Media Links
Also, I guess I should start doing that dropping links in my post thing so I can pretend to be one of those "social media influencer" types.
Twitter
Imgur
IG
YouTube
Minds
Trybe
On a serious note, appreciate any that help support me on these other platforms so we can work together to promote Steem!
Related Project Promotion
Would you like to delegate to the Steem Flag Rewards project and promote decentralized moderation? It's much more fashionable than self-voting. Here are some handy delegation links!
SmartMeme
Don't forget to follow @smartmeme for OG meme curation and Kekistani Cleanup Meme Rank Results! As time permits, the meme ranks will be a thing!

If you want to earn the prestigous content cop rank, stay tuned for updates.
SFR Moderator Fund
@sfr-mod-fund is the account used to rewards our Discord mods for reviewing and approving blockchain flags daily which supports the fighting of abuse. Follow the fanbase on SteemAuto to support the mission automagically!
Series Backlinks
Also, here is my SteemAuto fanbase link if you would like to be one of my consistent supporters.
