RNBW.wiki
🇩🇪
🇷🇺Русский 🇬🇧English 🇪🇸Español 🇨🇳中文 🇩🇪Deutsch

Alle RNBW-Inhaber

Die vollständige Liste der Adressen mit einem Bestand über null, nicht nur deren Spitze. Sie entsteht aus den Ereignissen der Blockchain und nicht aus einem Explorer, und sie wird gegen die Gesamtemission des Tokens geprüft: Solange die Summe aller Bestände nicht bis auf das letzte Wei mit der Emission übereinstimmt, wird die Liste nicht veröffentlicht.

Die Liste

Nach Bestand sortiert. Die Suche nimmt sowohl eine vollständige Adresse als auch deren Anfang — ein paar Zeichen nach 0x genügen.

Adressen tragen dort eine Beschriftung, wo sie bekannt ist: Börsen, Liquiditätspools und Rainbows eigene Verträge. Alle übrigen haben nirgends eine — das sind gewöhnliche Wallets.

Woher die Liste stammt

Der Bestand einer Adresse ist alles Eingegangene minus alles Abgeflossene. Deshalb lassen sich die Liste der Inhaber und ihre Bestände allein aus dem Übertragungsprotokoll des Tokens rekonstruieren, ohne eine einzige Anfrage an einen Explorer.

01

Alle Übertragungen seit der Geburt des Tokens lesen

Der Token-Vertrag wurde in Block 41349994 ausgerollt. Von dort bis zum Kopf der Kette werden alle Transfer-Ereignisse gelesen — rund dreihundertsechzigtausend Stück. Der Durchlauf ist fortsetzbar: Er sichert seinen Zustand unterwegs und setzt nach einem Abbruch dort fort, wo er stehen blieb, statt neu zu beginnen.

02

Die Bestände aufsummieren

Beim Absender wird der Betrag abgezogen, beim Empfänger addiert. Die Nulladresse kommt nicht in die Liste: Durch sie laufen Ausgabe und Verbrennung, Inhaberin ist sie nicht.

03

Gegen die Emission prüfen — und erst dann veröffentlichen

Die Summe aller positiven Bestände muss mit totalSupply() des Vertrags übereinstimmen. Genau übereinstimmen, nicht ungefähr: Arithmetik über Ereignisse rundet nicht, eine Abweichung bedeutete also verlorene Ereignisse. Stimmt es nicht, wird die Ausgabe nicht überschrieben; der Durchlauf startet erneut und holt das Fehlende nach.

Warum nicht der Explorer. Blockscout hat eine fertige Liste, liefert sie aber in Fünfzigerschritten — bei gut fünfzigtausend Adressen sind das über tausend Anfragen. Nach fünfzig sperrt er für Stunden aus und beginnt, was weit schlimmer ist, unvollständige Antworten ohne jedes Anzeichen einer Kürzung zu liefern. Daran haben wir schon 61,5% der Cashback-Summe verloren, bevor die Quelle auf Nodes umgestellt wurde. Eine so zusammengetragene Liste wäre still und leise falsch — und das ist schlimmer als gar keine Liste. Prüfen ließe sie sich zudem an nichts: Der Explorer bietet keine Größe, gegen die man die Summe halten könnte.

Was als Inhaber zählt

01

Das sind keine Staker

Den Token zu halten und eine Staking-Position zu halten sind zwei verschiedene Dinge, und die Mengen überschneiden sich kaum: gut fünfzigtausend Inhaber gegen etwa dreitausend Staker. Eine Adresse, die ihren ganzen Bestand im Staking eingeschlossen hat, steht auf null und fällt aus dieser Liste heraus — die Token laufen nun auf den Staking-Vertrag, nicht auf einen Menschen.

02

Verträge zählen wie Menschen

In der Liste stehen Liquiditätspools, der Staking-Vertrag und die Schatzkammer. Das sind Adressen, keine Eigentümer, und sie als «Inhaber» zu den Wallets zu addieren wäre falsch. Deshalb sind die bekannten beschriftet — damit man sie sieht und abziehen kann.

03

Ein Mensch kann mehrere Adressen halten

Das Umgekehrte gilt ebenso: Hinter einer einzigen Börsenadresse stehen Tausende von Menschen. Die Zahl der Zeilen in dieser Liste ist eine Zahl von Adressen, nicht von Eigentümern, und darf nicht als Zahl von Menschen gelesen werden.

Die Daten aktualisieren sich selbst: Nach dem ersten vollen Durchlauf liest der Sammler nur noch neue Blöcke. Ausgeliefert werden sie als /api/holdersall/index.json und Dateien zu fünfhundert Zeilen daneben.