Wie kann der Etherscan TokenTracker die Salden der Inhaber anzeigen?

Wie kann der Etherscan TokenTracker Inhaberadressen anzeigen? Die balancesAbbildung Ihres durchschnittlichen ERC20-Tokens kann nicht per Index iteriert werden, noch kann die Länge des ermittelt mappingwerden. Wie also könnten Etherscan Adressinformationen des Halters zur Verfügung stehen?

Beispielsweise können Sie hier den Gnosis TokenTracker einsehen und eine Liste der Inhaber bestätigen.

https://etherscan.io/token/Gnosis#balances

Wenn Sie als Nächstes die Vertragsquelle anzeigen, werden Sie feststellen, dass es keinen Code gibt, der den Halter explizit als addressVerweis auf mapping (address => uint256) balancesoder irgendetwas anderes zurückgibt. (Zumindest kann ich das nicht sehen.

https://etherscan.io/address/0x6810e776880c02933d47db1b9fc05908e5386b96#code

Vielen Dank im Voraus für Ihre Hilfe.

Antworten (3)

Ich glaube nicht, dass sie die Details ihrer Implementierung veröffentlicht haben, aber vermutlich verfolgen sie TransferEreignisse und aktualisieren die bekannten Salden für jedes Konto, wenn diese Ereignisse eingehen.

das ist genau das, was sie tun, und das ist eigentlich der einzige Weg, es (billig) zu tun. Eine andere Möglichkeit wäre, die gesamte Ethereum-Adressbasis gegen den Vertrag zu scannen. Und eine andere wäre, den Vertrag zu zerlegen und die Speicherung des Vertrags zu lesen und seine Inhaber zu extrahieren.
"genau das tun sie" <-- könnten Sie ein Zitat angeben?
smarx , nein ich spekuliere mit einer hohen Wahrscheinlichkeitsaussage
Dann bin ich mir nicht sicher, warum Sie kommentiert haben.
um deine eigenen Spekulationen zu bestätigen. Ich extrahiere auch Token und verwende Ereignisse.
Sie behaupteten zu bestätigen, aber es stellte sich heraus, dass Sie nur zustimmten. Eine positive Bewertung wäre ein besserer Weg, dies anzuzeigen.
Ich habe bereits hochgestimmt

Ich mache nur einen Test mit meinem eigenen Token und Mint-Ereignisse werden nicht verfolgt, während Transfers dies tun. Es überprüft den Kontostand des Senders/Empfängers nach Transaktionen.

Vielen Dank für Ihren Beitrag. Sie verfolgen tatsächlich TransferEreignisse. Wenn Sie außerdem ihren Token-Tracker verwenden, um einen Kontostand zu überprüfen, und ein Kontostand zurückkehrt, fügen sie diesen Inhaber der Liste hinzu.