Which witnesses could be interesting for me?

작년

Voting for witnesses is very important. Especially after the HF20 failure of the top 20 witnesses, everyone should take a look over their witness votes another time. But the witness list is long, and checking each witness in depth would take a huge time. That's why I wrote a script to check for which witnesses the persons vote for, that you follow. That gives you a list of witnesses that it is definitely worth checking.
This isn't a list of witnesses that you should vote for, but a list that you should look into. Also, there are two values for each witness in the list. One is the number of followings that vote for this witness (the list is sorted by that) and the other is a special score. For each followed account, 30/number of witness votes from that account gets added to the score. That causes an account that only votes for @reggaemuffin (a cool witness by the way) to add a lot more to @reggaemuffin's score than an account that votes for @reggaemuffin and 29 other witnesses. The witnesses you are already voting for, are excluded for the list. This approach is very similar to the approach @holger80 (another awesome witness) had for looking for interesting persons to follow. Look at his post if you are interested in that.
The code looks like this:

from beem.account import Account
from beem.nodelist import NodeList
from beem.steem import Steem
from beem.witness import Witness

if __name__ == '__main__':
    nodes = NodeList()
    nodes.update_nodes()
    node_list = nodes.get_nodes()
    stm = Steem(node=node_list)
    main_acc = Account('flugschwein', steem_instance=stm)

    following = main_acc.get_following()
    main_witness_votes = stm.rpc.get_account(main_acc.identifier)[0]['witness_votes']
    witnesses_weighted = {}
    witnesses_straight = {}
    for a in list(set(following + main_witness_votes)):
        acc = stm.rpc.get_account(a)[0]
        for w in acc['witness_votes']:
            if w in main_witness_votes:
                continue
            elif w in witnesses_weighted:
                witnesses_weighted[w] += 30 / acc['witnesses_voted_for']
                witnesses_straight[w] += 1
            else:
                witnesses_weighted[w] = 30 / acc['witnesses_voted_for']
                witnesses_straight[w] = 1
    final_witnesses = []
    for w in witnesses_weighted:
        wit = Witness(w)
        final_witnesses.append(
            {'name': wit.identifier, 'score': witnesses_weighted[w], 'url': wit['url'], 'cnt': witnesses_straight[w]})
    final_witnesses = sorted(final_witnesses, key=lambda x: x['cnt'], reverse=True)
    print('|My Witness Votes|My following\'s Witness Votes|')
    print('|---|---|')
    print(f'|{len(main_witness_votes)}|{len(final_witnesses)}|')
    print('\n|Number|Name|Weighted Score|Count|')
    print('|---|---|---|---|')
    for i in range(30):
        print('|{}|[{}]({})|{}|{}|'.format(i + 1, final_witnesses[i]['name'], final_witnesses[i]['url'],
                                           round(final_witnesses[i]['score'], 3), final_witnesses[i]['cnt']))

This script still has quite some room for improvement, but that would only affect performance. I will keep the script in here up to date.
For me, @flugschwein, that script returns the following:

My Witness VotesMy following's Witness Votes
18129
NumberNameWeighted ScoreCount
1utopian-io107.9337
2ausbitbank51.54936
3aggroed50.31734
4curie48.11432
5timcliff41.61632
6therealwolf70.62831
7blocktrades45.48526
8teamsteem40.71326
9good-karma40.65125
10roelandp35.23325
11jesta31.14324
12anyx31.17924
13lukestokes.mhth30.8924
14pfunk28.30124
15ocd-witness31.48820
16netuoso24.36718
17smooth.witness24.29817
18busy.witness35.16316
19yabapmatt18.35716
20cervantes19.23415
21followbtcnews17.14815
22neoxian14.63314
23riverhead19.98513
24thecryptodrive13.9213
25stoodkev50.62813
26steemcommunity18.82613
27furion14.73112
28ats-witness12.98312
29dragosroua45.22712
30blockbrothers17.26912

This is my list. Yours probably looks very different.
If you click on the names of one of these witnesses, you'll get to the witness introduction post they linked in their witness config. If you want me to execute that script for you, just leave a comment down there, and I'll try to give you your list of check worthy witnesses :) The list is limited to a length of 30, but if you want a longer one, just tell me in your comment, and I'll give you a longer one ;).
So to end this small post, I ask you to please make use of your witness votes. This is something very important. Look at some witnesses yourself, and vote for those who you deem worth of taking care of the blockchain for us. Also, thanks @holger80 for providing beem and for the inspiration with that approach for looking for interesting witnesses (or accounts to follow). Please vote him as a witness, he really deserves the votes :D

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!
STEEMKR.COM IS SPONSORED BY
ADVERTISEMENT
Sort Order:  trending

Thanks for this as I m reviewing right now as well. Sorry to say it does not help me yet who to kick and who to keep :-). A good combination of tech (coder) guys paired with people that say what they think plus some that understand the needs of a global business (here I see gaps).

·

Yeah, making good choices in that topic can't be done by a machine. But that way, you can see some witnesses that are worth looking at that you possibly missed so far etc. I don't want to make witness votes for you, but rather make the "look-at" list a bit shorter ;)

·
·

Agreed - I need probably some more days with my review - just started a new job and I think Wednesday is realistic.

Nice one @flugschwein, wanna run it for my account once? :)

·

Of course!

My Witness VotesMy following's Witness Votes
3097
NumberNameWeighted ScoreCount
1followbtcnews30.7229
2abit24.46122
3pharesim25.57421
4yabapmatt26.01919
5anyx20.3319
6curie25.15818
7netuoso17.88616
8roelandp18.56916
9arcange24.2616
10clayop23.21715
11klye14.8414
12ocd-witness18.67913
13busy.witness13.0912
14cervantes13.06912
15therealwolf15.83311
16furion11.62311
17holger8019.82110
18nextgencrypto9.8069
19adsactly-witness11.1439
20liondani9.59
21steemcommunity16.8219
22felixxx19.5568
23fulltimegeek8.6068
24emrebeyler9.957
25justyy7.3617
26ats-witness7.8837
27fyrst-witness7.767
28noblewitness7.3217
29ura-soul6.0346
30yehey6.0716
·
·

emrebeyler looks nice.

Hmm that seems like an advertisement for the top20
;)

·

Yeah, sadly that was hard to go around, but I guess I am also removing some lower ranked ones from the possibilities, since I am voting for them ;) (otherwise you'd probably be in the list e.g.^^)
Do you have any idea how a similar thing could be accomplished circumventing the top20 advertisement?

·
·

Exclude them.
Hmm. Can you query the witness ranks with beem? Hm....

·
·
·

But to be honest, that would no longer be an objective view at all anymore then. Not sure if that would be a good approach either..

·
·
·
·

In those cases here it goes rarly outside the top 50 witnesses.
And don't they already have enough screen time?

Gute Arbeit!
Darf ich auch um eine Liste bitten? :)
Vielleicht möchte ja @steemchiller ein Modul daraus stricken?
Ansonsten poste halt ein Jobangebot auf einem oder mehreren Discord-Servern ... :)

·

Gerne!

My Witness VotesMy following's Witness Votes
24162
NumberNameWeighted ScoreCount
1ausbitbank139.66970
2gtg130.91167
3blocktrades130.40366
4good-karma180.75164
5aggroed117.47461
6jesta155.65861
7roelandp119.89759
8themarkymark157.87254
9drakos68.47648
10lukestokes.mhth69.38746
11someguy12386.83646
12pfunk88.15342
13cervantes104.51937
14patrice55.95137
15arcange103.55634
16busy.witness55.41833
17anyx51.86232
18yabapmatt88.34332
19followbtcnews38.26730
20netuoso42.20929
21nextgencrypto43.6228
22jerrybanfield69.63527
23thecryptodrive41.01926
24smooth.witness28.56525
25blockbrothers67.73424
26riverhead27.60124
27adsactly-witness61.22821
28furion24.32921
29fyrst-witness29.68921
30thomasheindl99.85520
·
·

Besten Dank!

Can you execute that script for me? I'd love to know how to do this, but my brain's better for living languages ;(

·

Haha of course I can :))

My Witness VotesMy following's Witness Votes
9154
NumberNameWeighted ScoreCount
1pharesim162.36956
2ausbitbank129.93254
3timcliff91.74751
4pfunk113.67345
5aggroed98.44244
6blocktrades114.01944
7gtg66.43744
8jesta84.33142
9good-karma72.2141
10roelandp72.97641
11yabapmatt131.79138
12lukestokes.mhth74.60135
13someguy12352.73634
14drakos51.22833
15therealwolf137.0232
16reggaemuffin109.44831
17busy.witness45.27328
18anyx37.46328
19followbtcnews40.1526
20patrice42.60826
21smooth.witness29.31225
22adsactly-witness57.61624
23xeldal36.47324
24arcange47.30723
25clayop23.92423
26abit25.54522
27guiltyparties31.46522
28riverhead27.24321
29klye39.40121
30thecryptodrive25.48420

As already pointed out by several people, the top20 get a very high score in that list, but to be honest (personally) I'd love to see some changes to the top20, so think twice before voting for a top20 ;) :P

·
·

thanks @flugschwein!

Must be a bug, I'm not on the list ;)

·

Not sure if you made a joke, but maybe you missed that line?

witnesses you are already voting for, are excluded for the list.

·
·

oh ya, I missed that haha was just messing with ya but didn't see that. Cool script, would be a cool website app.

·
·
·


Sadly I don't have any web dev skills (yet), but maybe I'll look into it some time :)
I'll provide your list just because I think it's interesting. ;-)

My Witness VotesMy following's Witness Votes
25124
NumberNameWeighted ScoreCount
1aggroed39.59631
2someguy12331.88228
3good-karma26.56924
4roelandp38.32424
5riverhead26.80124
6lukestokes.mhth28.14523
7smooth.witness26.38422
8utopian-io28.56821
9clayop21.94720
10blocktrades21.94919
11arcange24.35518
12blockbrothers18.17616
13curie17.44916
14klye18.07516
15liondani18.04516
16ocd-witness14.3814
17steemed15.88613
18therealwolf14.31213
19xeldal14.28412
20cervantes12.71912
21noblewitness13.06412
22fulltimegeek11.84511
23emrebeyler11.99911
24mahdiyari12.91411
25furion16.10611
26steemcommunity11.02610
27aizensou11.56110
28holger8010.41410
29comedyopenmic16.5299
30steempress10.4399
·
·
·
·

oh, I love the @emrebeyler in that list. @themarkymark.

I'd love to see @dragosroua in the top 20. Just a personal opinion though!

Can you run it for steemcommunity please?

I assume it includes proxy votes 😊 Cheers!

·

I didn't include proxy votes, since I think that someone who gives their vote in someone elses hand makes a big mistake if you get what I mean. But maybe I find the time to put in into the script as well (I think the most proxied votes (not the biggest ones of course - hey @freedom) are only because one thought "Wow! This is hella complicated! Let's set the one with the highest rep I know as proxy! He must know well whom to vote" or something along these lines. That's why I didn't include them in first place.

My Witness VotesMy following's Witness Votes
088
NumberNameWeighted ScoreCount
1curie51.85712
2steemcommunity35.57612
3ocd-witness26.30410
4ausbitbank27.17910
5aggroed20.3219
6utopian-io14.3768
7teamsteem11.0198
8timcliff13.0717
9steemgigs13.5767
10arcange10.4297
11drakos15.9477
12patrice10.2696
13fulltimegeek22.8046
14pharesim12.3936
15yabapmatt10.9335
16followbtcnews6.8085
17good-karma6.2865
18krnel8.2145
19roelandp13.7145
20guiltyparties15.0935
21adsactly-witness11.7144
22busy.witness5.3044
23comedyopenmic11.2334
24danielsaori5.6124
25gtg5.2144
26lukestokes.mhth4.1434
27sapphic9.0934
28yehey9.8084
29jackmiller6.0414
30noblewitness5.8764

Can I get mine?

·
My Witness VotesMy following's Witness Votes
30163
NumberNameWeighted ScoreCount
1timcliff150.34782
2jesta94.80862
3gtg115.9461
4curie105.6960
5yabapmatt99.01460
6ausbitbank90.84859
7good-karma110.9756
8aggroed81.93356
9lukestokes.mhth105.59954
10someguy12366.94253
11roelandp78.91650
12blocktrades83.71848
13pfunk67.97346
14teamsteem64.14845
15therealwolf87.33445
16netuoso63.19843
17patrice54.59740
18followbtcnews50.15439
19abit40.38131
20anyx36.86630
21stoodkev54.12129
22thecryptodrive31.84529
23mahdiyari67.3528
24steemgigs48.43627
25blockbrothers49.03826
26dragosroua45.72925
27cervantes34.38524
28guiltyparties29.84424
29noblewitness32.30324
30smooth.witness31.0424
·
·

no news.

btw, using get_accounts may speed up the script dramatically. It accepts up to 1000 accounts in one call.

What have we here,one year !BEER

View or trade BEER at steem-engine.



Hey @flugschwein, here is a bit BEER for you. Enjoy it!