Skip to content

Instantly share code, notes, and snippets.

@emre
Created March 24, 2018 16:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save emre/11e16293138c3905dc55ff1abfad5653 to your computer and use it in GitHub Desktop.
Save emre/11e16293138c3905dc55ff1abfad5653 to your computer and use it in GitHub Desktop.
witness_leaderboard.py
from steem import Steem
from leaderboard.leaderboard import Leaderboard
freedom_votes = [
"aggroed",
"aizensou",
"anyx",
"ausbitbank",
"bhuz",
"busy.witness",
"cervantes",
"curie",
"drakos",
"followbtcnews",
"furion",
"good-karma",
"gtg",
"ihashfury",
"jerrybanfield",
"jesta",
"liondani",
"lukestokes.mhth",
"netuoso",
"prc",
"rival",
"roelandp",
"someguy123",
"thecryptodrive",
"therealwolf",
"timcliff",
"utopian-io",
"wackou",
"xeldal",
"yabapmatt"
]
def get_leaderboards():
lb = Leaderboard('witnesses', page_size=100)
lb_without_freedom = Leaderboard('witnesses-wo-freedom', page_size=100)
s = Steem(nodes=["https://api.steemit.com"])
for witness in s.get_witnesses_by_vote("", 100):
votes_in_mv = int(witness["votes"]) / 1000000000000
if witness.get("owner") in freedom_votes:
votes_in_mv_without_freedom = votes_in_mv - 15704
else:
votes_in_mv_without_freedom = votes_in_mv
lb.rank_member(witness.get("owner"), votes_in_mv)
lb_without_freedom.rank_member(
witness.get("owner"), votes_in_mv_without_freedom)
return lb, lb_without_freedom
def main():
current_lb, lb_without_freedom = get_leaderboards()
print(markdown_table(current_lb))
print(markdown_table(lb_without_freedom))
def markdown_table(lb):
body = "| Rank | Witness | Votes (MV) | \n|------|---------|-----|\n"
for member in lb.leaders(1):
body += "|%s|%s|%s|\n" % (
member["rank"],
member["member"].decode("utf8"),
int(member["score"]),
)
return body
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment