You are viewing a single comment's thread from:

RE: SteemWorld ~ Weekly Support ~ #23

in #steemworld6 years ago

Danke für deine schnelle, interessante Antwort, und den 100%er!

Mit der jetzigen Steem API kann ich nämlich nicht einfach die Operationen eines bestimmten Datums ermitteln sondern nur rückwärtszählend vermuten/prüfen, wo ich mich befinde, was auch der Grund für die aktuelle 7-Tage-Grenze ist.

Wenn ich das als Laie richtig sehe, müsstest du über die Blocknummern alles auf 3 sec genau ansteuern bzw. prüfen können (natürlich nur, soweit sie zur Verfügung stehen).

Sort:  

Wenn ich das als Laie richtig sehe, müsstest du über die Blocknummern alles auf 3 sec genau ansteuern bzw. prüfen können ...

So kann ich die einzelnen virtuellen Operationen ermitteln (woraus sich eine Account-Historie aufbauen lässt) aber leider nicht gezielt die Account-Historie für einen Benutzer. Es würde also bedeuten, dass dein Browser alle Operationen downloaden müsste, um danach die für dich relevanten rausfiltern zu können.

Die Daten aller Steemians für eine Woche zu laden liegt im GB-Bereich und es würde die Nodes ziemlich überlasten, wenn ich das für jeden Benutzer auf SteemWorld machen würde. Der API-Aufruf get_account_history liefert mir gezielt für einen Benutzer die letzten X Operationen ausgehend von der gewählten Start-Operations-ID Y. Die ID ist nur ein Index (der auch von Node zu Node unterschiedlich sein kann) und sie ist nicht an ein Datum geknüpft.

Ich denke, es führt nichts daran vorbei, einen eigenen Index zu führen der die einzelnen Operations-IDs mit einem Zeitstempel verknüpft oder (die bessere Lösung) die gesamte Account-History per User zu speichern und mit einem Datumsfeld zu versehen (was ich wahrscheinlich tun werde).

Danke, dass du mir/uns trotz deiner knappen Zeit so ausführlich so interessante und laienverständliche Infos gibst! Mir ist da ein On-demand-Verfahren als Alternative (?, vielleicht ja völlig abwegig) in den Sinn gekommen:

Wenn ein User seine SteemWorld-Seite aufruft oder die autom. Aktualisierung ansteht, wird eine SQL-Abfrage o. ä. (ggf. mit userdefiniertem beliebigem Zeitraum, aber wohl umfangsmäßig begrenzt) direkt an der Datenquelle – also wohl bei den Nodes – ausgelöst und nur das Ergebnis zurückgegeben. Hab natürlich keine Ahnung, ob sowas möglich und/oder wirklich sinnvoll wäre.

Coin Marketplace

STEEM 0.15
TRX 0.15
JST 0.028
BTC 53807.82
ETH 2237.98
USDT 1.00
SBD 2.30