Ich kenne eine Möglichkeit, mit Verträgen zu interagieren, indem Sie in der Geth-Schnittstelle den Befehl verwenden:eth.contract(ABI).at(Address)
Dafür muss ich aber vorher ABI und Adresse des Vertrages wissen. Was ist, wenn ich die Verträge durchsuchen möchte, die sich derzeit in der Blockchain befinden (wie das Durchsuchen der Apps im Play-Store)?
BEARBEITEN: Diese Antwort erklärt, warum Sie den Quellcode aller Verträge nicht auflisten und anzeigen können. Die Antwort von @Xeenych ist, wie man die Gesamtzahl der Verträge zählt.
Einige Blockchain-Explorer zeigen einige Verträge: Beispiel mit ABI und Quellcode , und Beispiel ohne Quelle (die „Wertübertragungen“ herausfiltern).
Die Blockchain hat nur EVM-Bytecode. In der Regel benötigen Sie den Quellcode des Vertrags, um die ABI zu erhalten, oder der Vertragsautor muss ihn Ihnen zur Verfügung stellen. Siehe Benötige ich einen zusammengestellten Vertrag, nur um die ABI-Definition zu erhalten?
Es gibt zwei Arten von Verträgen:
Und es gibt drei Möglichkeiten, Typ-2-Verträge zu finden:
Zum jetzigen Zeitpunkt (Block ~ 5250000) gibt es ~2350000 Kontrakte in der Ethereum-Blockchain. Mein Suchprogramm funktionierte etwa eine Woche lang.
Suchmaninder
eth
mikezter
fuzzyTew