Are different indices of account history items normal?

in hive-151113 •  last year 
In the context of upgrading a certain service here on the Steem, I realised something that didn't quite make sense to me.

The service continuously stores the activities of certain accounts in an internal database. The data required for this is retrieved using account_history_api.get_account_history.
Since the reduction of the limit from 1000 to 20, the service has had difficulties retrieving the data.

I first had to find out how and which data is retrieved. And of course it should continue seamlessly after the "restart". The index of entries in the account history is crucial for this.

The indices can be specified as start parameters in the query. If the last action should be retrieved, -1 is used ({"account": "moecki", "limit": 1, "start": -1}).
If I request my last activity from the node https://api.steemit.com, I get the following result:

[90606,{"trx_id":"4bee91da4a1a304a2bb5e9f3492f1a29d07b5347",
"block":80139385,"trx_in_block":3,"op_in_trx":0,"virtual_op":0,"timestamp":"2023-11-23T18:57:21","op":{"type":"comment_operation","value":{"parent_author":"remlaps","parent_permlink":"re-moecki-20231122t92311832z","author":"moecki","permlink":"s4lbbk","title":"","body":"For your own transfers it is not quite so bad ;-)","json_metadata":"{"app":"steemit/0.2"}"}}}]

The last activity has the index 90606.
I could now retrieve this again with {"account": "moecki", "limit": 1, "start": 90606}.

However, when I do this on my API server https://api.moecki.online, I get the following response:

[90466,{"trx_id":"4bee91da4a1a304a2bb5e9f3492f1a29d07b5347",
"block":80139385,"trx_in_block":3,"op_in_trx":0,"virtual_op":0,"timestamp":"2023-11-23T18:57:21","op":{"type":"comment_operation","value":{"parent_author":"remlaps","parent_permlink":"re-moecki-20231122t92311832z","author":"moecki","permlink":"s4lbbk","title":"","body":"For your own transfers it is not quite so bad ;-)","json_metadata":"{"app":"steemit/0.2"}"}}}]

It is the same activity, but with a different index.
I have tested this on different nodes. Here is the result:

NodesIndexDiff to Steemit
https://api.steemit.com90606
0
https://api.moecki.online90466
-140
https://api.pennsif.net90586
-20
https://api.justyy.com90606
0
https://api.campingclub.me90590
-16
https://api.wherein.io90606
0
https://api.upvu.org90590
-16

The only explanation I could come up with is that some transactions were not captured when the nodes were synchronised and are therefore missing from the nodes. However, that would worry me greatly. It would mean that the node cannot provide the blockchain data in full.

Can anyone give a different explanation?

@steemchiller @ety001 @justyy @symbionts @happyberrysboy @roadofrich @rexthetech @ayogom

Steem Search on https://moecki.online/

My Full Node on https://api.moecki.online

My Python Pricefeed for Witnesses

Thanks for your Witness Vote

23.11.2023
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!
Sort Order:  

I experienced similar issues when using different nodes on SteemWorld in the past and I learned that the index can't be used as unique id, because it depends on the used node configuration. One could build an own uniue id by combining block, trx_in_block, op_in_trx, and virtual_op though.

In your case the index seem to differ even within one node setup, which I didn't experience myself in the past (with normal steemd instances). That must have to do with the Hivemind logic (never used it myself, therefore can't tell you any more details).

  ·  last year (edited)

Danke für deinen Hinweis. Ich war in den letzten Tagen doch etwas anderweitig ausgelastet, so dass ich erst jetzt zum Antworten komme.
Der Code ist an einigen Stellen schon - ich sage es mal vorsichtig - seltsam. Es werden auch die anderen von dir genannten Felder gespeichert und teilweise berücksichtigt, nur eben nicht überall - wo es ebenfalls sinnvoll gewesen wäre. Ist halt auch schon etwas älter...
Grundsätzlich würde ich ja auch empfehlen, auf dein SDS umzusteigen. Ist halt die Frage, wie viel Aufwand das bei einem Refactoring macht und wie viele SDS-Abfragen dann notwendig wären...

!finanzbot 30%

Loading...

Hey @moecki,
vielen Dank, dass du unseren automatischen Auszahlungsbot DUBby nutzt, um deine Kommentatoren anteilig an deinen Post-Rewards zu beteiligen.
Damit alles wie geplant läuft, denke bitte unbedingt daran, mir Auszahlungsbefehle zu erteilen.
Schreibe dafür einfach einen Kommentar an die User, die einen Anteil erhalten sollen. Darin sollte die Anweisung in der Form !finanzbot x % enthalten sein.

Falls du dazu Hilfe benötigst, kannst du gern fragen oder in diese Anleitung schauen.

Gruß vom DU-Finanzbot (by Witness @moecki).

Und ich dachte schon die JSON Meldung käme für mich aus Böhmen.
Wenn man wenig bis keine Ahnung davon hat ist das alles irgendwie "like Voodoo".

Hab da aber noch so ein Off-Topic Ding. Meinst du nicht es wäre eine ganz sinnvolle Idee den DU Artikel oder eine allgemeine "Betriebsanleitung" von DUby auf seinem Account in Englisch zu publizieren?

Ich habe da nämlich noch einen Uralt Account von einer Bekannten ausgegraben, der rumliegt und den ich nutzen darf. Mit dem werde ich mal bissel rum datteln, um den DUby etwas zu promoten.

Dann könnte ich da bei verschiedenen Wettspielchen immer als Hinweis für andere drauf verweisen.

Wenn sich schon jemand die Mühe macht so ein cooles Ding zu basteln, wäre es ja auch schön, wenn der was zu tun hat. Kommt ja auch indirekt der Community zugute, wenn der etwas wächst.

Vorausgesetzt das ist dir überhaupt recht. Nicht, dass das dann in Stress ausartet, sollte DUby mal einen Hänger haben oder what ever.

  ·  last year (edited)

den DU Artikel oder eine allgemeine "Betriebsanleitung" von DUby auf seinem Account in Englisch zu publizieren?

Ja, darüber habe ich auch schon nachgedacht. Insbesondere nach dem Einsatz durch die Räbin und deinen aktuellen Wettbeitrag.
Prinzipiell könnte ich auch damit leben, wenn jemand anderes einen Beitrag mit Anleitung auf Englisch erstellt.
In DU würde er nur mit Hinweis auf die Community-Förderung gequetscht werden, allerdings käme auch ein Post im DU-Finanzbot-Blog in Frage. Das müssten wir im DU-Team besprechen.

Nicht, dass das dann in Stress ausartet, sollte DUby mal einen Hänger haben oder what ever.

Nee, ich habe damit kein Problem und keine Befürchtungen, dass da viel Arbeit anfällt. Das einzige Problem, das ich habe, ist mein Perfektionismus: durch die vermehrte Benutzung fiele mir sicher öfter auf, was noch besser gemacht werden könnte...
Schon allein durch deine Tests sind mir einige Dinge aufgefallen, die ich teilweise bereits geändert und teilweise auf der TODO-Liste gespeichert habe.

!finanzbot 20%

käme auch ein Post im DU-Finanzbot-Blog in Frage. Das müssten wir im DU-Team besprechen.

Jo, macht mal. So ein Account komplett ohne Posts sieht ja auch immer erst mal etwas "DUbios" aus. :D
So ein Beschreibungsartikel, Stichwort #introducemyself, wäre doch sicher töffte.
Vielleicht sogar in einer entsprechende STEEM #Engagement Community oder so. :)
Die deutschen Versionen gibt es ja. Die könnte der Duby ja auch Resteemen.

Das einzige Problem, das ich habe, ist mein Perfektionismus

Siehste. Ist dann wie bei der KI. Je häufiger die genutzt wird und "Dateninput" aka Erfahrungswerte bekommt, um so besser wird sie. :)

Schon allein durch deine Tests sind mir einige Dinge aufgefallen, die ich teilweise bereits geändert und teilweise auf der TODO-Liste gespeichert habe.

Freut mich, wenn es dazu beiträgt Änderungen/Verbesserungen vorzunehmen, an die man in der Theorie nicht gedacht hat, aber dann in der praktischen Anwendung merkt: Oh! Hups! DAS hatte ich gar nicht auf dem Schirm. Wer macht denn auch SOWAS?

Naja,... Ich halt. lol

Thank you very much for your attention and professionalism. Good luck and all the best to you.

Thank you. :-)