SteemIt API Lernprojekt - Folge 2

in #deutsch6 years ago (edited)

Nach dem eigentlich ungeplant Folge 1 des Lernprojekts veröffentlich wurde. Ungeplant weil es ursprünglich nur eine Testpost um eine upvote via API zu testen war - deswegen auch der Hashtag #test.

Ich habe regelmäßig unter GitHub die Änderungen im Projekt gepusht, so dass jeder den Fortschritt selber begutachten könnte. Könnte weil wen interessiert schon was für einen Bockmist ich hier fabriziere :)

Aktueller Stand ist, dass ich eine Liste von testaccounts via API einlesen (die allgemeinen Accountdaten und die Historydaten) und ein einer MongoDB ablegen.
Die MongoDB läuft unter Ubuntu 17 (eigentlich sind nur LTS Versionen supoorted aber egal es läuft). Wenn Ihr das setup nachbauen solltet vergesst nicht die FireWall freizusschalten (port 27017 für die DB connection). Unter windows noch eine instanz installiert nutze dort aber nur den MongoDB compass (viewer/editor siehe Bild unten).

Ursprüchlich dachte ich das Volumen wird mir das Genick brechen, dass tut es aber aktuell gar nicht. Es sind mit ca. 10 großen Accounts nur ca. 100MB. Was mich eher an den Rand des Wahnsinns bringt ist das asynchrone Programmieren mit Callbacks (Rückruf). Also nicht etwas so etwas wie ergbnis=holediedaten() wo holediedaten die Daten als Rückgabewert zurckgibt und man in der nächste Zeile damit weiterarbeiten kann.
Mit Rückrufen (Callbacks) sieht das dann in etwa so aus. holediedaten(meineRuckrufFunktion). Sieht auf den ersten blick einfach aus - der Knackpunkt meineRuckrufFunktion wird irgendwann mal gerufen und man muss eben dort weiterarbeiten.

OK wo stehen wir denn nun?
Anwort: die Grundlagen um etwas wie z.B. @taxguy in seinem Post vorgestellt hat sind gelegt. Alle Daten können beschafft werden. Zum Beispiel hier mal eine einfach Testausgabe (claims im Mai 2018 von ein paar bekannten accounts):

Nächster Schritt Ausgabe in eine CSV und HTLM damit man es z.B. in Excel verwenden kann. Nebenbei muss noch eine Währungsumrechnung rein. Danach gibt es dann Grafiken und Auswertungen der Daten.

Sort:  

Sodele kurz bevor ich die nächste Tage kaum mehr etwas machen kann zumindest mal die claim rewards als CSV rausgehauen.

Ich habe bewusst mal das Format von @taxguy verwendet damit ist am Ende vergleichbar ist. Sehe das wie im Flieger - mehrere Rechner kontrollieren sich gegenseitig.

Wobei ich mich gerade frage: "ist das Claimen überhaupt relevant"? Weil eigentlich steht einem der Betrag ja schon zu Verfügung. Warum ist das bei Steem so implementiert & was passiert wenn man nie claimed?

Währungsumrechung etc. kommt noch - muss man ja nur einmal implementieren. Auch Quartal, Wochen ... kein Problem muss ich nur machen :)

Hey @endurance, vielen Dank. Um kurz auf die aufgeworfene Frage einzugehen: ja, der Betrag steht einem auch vor dem Claimen theoretisch schon zur Verfügung. Wir haben diesen Zeitpunkt aus Vereinfachungsgründen erst mal aufgenommen. Wenn man nie claimen würde, würde nach meinem Verständnis ein - zumindest für viele User - wesentliches Ziel verfehlt. Man könnte ja nicht die Erträge abholen und SP aufbauen.

Nur zur Sicherheit - welchen Zeitpunkt den des Claims oder den des ersten Erhalts (verstehe Ihr nimmt den "ersten" Erhalt). Bei der Claim Operation sieht man ja auch nicht mehr von wem es ursprünglich kommt (wenn ich das richtig im Kopf habe).

@taxguy - welche Umrechnungsdaten nimmst Du denn bzgl. Location und Uhrzeit. Unterschiedliche Börsen haben ja unterschiedliche Kurse? Dann den Tagesschnitt oder Closingkurs oder genau den zum Zeitpunkt x?

Congratulations @endurance1968! You have completed some achievement on Steemit and have been rewarded with new badge(s) :

Award for the number of upvotes

Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here

If you no longer want to receive notifications, reply to this comment with the word STOP

Upvote this notification to help all Steemit users. Learn why here!

Coin Marketplace

STEEM 0.35
TRX 0.12
JST 0.040
BTC 71539.00
ETH 3603.23
USDT 1.00
SBD 4.75