You are viewing a single comment's thread from:

RE: 2018 Woche 15 - Ohne Zusammenhang / Without Any Context / Deutsch / English

in #deutsch7 years ago

Danke Martin, du hast mal wieder den Nagel auf den Kopf getroffen. Super! :)
Ich hatte erst überlegt, ob man relativ einfach die Infos über https://api.steemit.com/ und co. herausziehen kann. Aber ich kenne nur die Methoden über curl, Requests usw..
Über REST APIs werde ich mich auf jeden Fall noch genauer informieren.
Viele Grüße, Max

Sort:  

Gerne :)
Klingt so als hättest du das auch für was brauchen können? :)

Das ist das schöne, wenn man eh schon alles mögliche an Links im Verlauf hat... ;)

Gruß,
Martin

Ja auf jeden Fall.
Ich programmiere ja auch wieder nebenbei. Und um so mehr Möglichkeiten ich kenne, umso besser :D
Mir ist zum Beispiel aufgefallen, dass die integrierte Funktion von Steem-Python zur berechnung der VP ungenau ist. Die weicht eigentlich immer ein kleinen wenig ab. xD
Bugreport? Vielleicht! :P

Das ist das schöne, wenn man eh schon alles mögliche an Links im Verlauf hat... ;)

Boah ich muss die mal wieder sortieren xD

Ach hat Steem-Python sowas? :)
(magst mir vielleicht sagen wonach ich suchen muss? :) )

Ich bins noch gewohnt mir sowas selber ausrechnen zu müssen ;)

Boah ich muss die mal wieder sortieren xD

Sowas sortiert man nicht, das gehört sich nicht x'D

Ja hier das "Account" Objekt besitzt so eine Methode. Aber wie gesagt, die ist iwie Quark. Ich würde aktuell Steem-Python nicht empfehlen. Hab irgendwie nur Probleme damit :C

from steem.account import Account
vp = Account('mwfiae').voting_power()
print(vp)


Sowas sortiert man nicht, das gehört sich nicht x'D

:D

Ok, wie gedacht^^
Das ist nicht die aktuelle Voting Power, sondern die Power aus der Blockchain ;)

Kleiner aber feiner Unterschied! In der Blockchain wird die Power nämlich nur zum Zeitpunkt des letzten Votes geschrieben...

D.h. du musst dir die aktuelle Votepower selber ausrechnen.

Hier bisschen Javascript für dich, kriegst du bestimmt auch in python hin ;)
(PS: hübsch ist es nicht, aber die Sidebar beweist, dass es funktioniert ;) )

        let last_time = moment.utc(newData.last_vote_time).valueOf();
        let now = moment.utc().valueOf();
        let delta = (now-last_time) /1000;
        let updated_voting_power = base_voting_power +(10000*delta/432000);
        if( updated_voting_power > 10000 ) {
            updated_voting_power = 10000;
        }
        newData.trueVotePower = (updated_voting_power/100).toFixed(2);
        let timeForVotePower = (10000-updated_voting_power)/2000*24*60*60;

newData sind bei mir die aktuellen Accountdaten.
trueVotePower ist das was du willst ;)
Und timeForVotePower ist die Zeit wann die Votepower wieder voll sein wird :)

Evtl. musst du aufpassen, weil hier viel mit millisekunden rumgerechnet wird, bin mir nicht sicher wie das in python genau läuft :)

Aha!
Jetzt ergibt das alles Sinn für mich.
Ohhh man, da muss man erst mal dahinter steigen.

Ich bastel zur Zeit an einem Hybriden. Also steem-python und steem-js.
In einem Docker Container ist das auch weniger ein Problem.

Die Vote Power lasse ich mich inzwischen auch von steem-js (node) geben. Hierzu habe ich ein bisschen von @stoodkev hier abgeschmult.

Aber trotzdem danke für dein Script, :)
Das werde ich als Lernvorlage nutzen.

VG Max

Ja mich hat das am Anfang auch sehr verwirrt :)

Ja stoodkev hat das ganze gut beschrieben (und sein Coding ist auch um einiges sauberer :D )
Du hättest nur die kleine Kurve kriegen müssen, dass du das in Python auch so berechnen musst :)

Gerne und bitte nicht, das soll wirklich kein Vorbild sein :)

Gruß,
Martin