Erhalten Sie ausstehende Transaktionen an eine bestimmte Adresse/Vertrag

Gibt es eine Möglichkeit, alle ausstehenden Transaktionen an eine bestimmte Adresse/einen bestimmten Vertrag zu senden? Ich konnte die bestätigten Transaktionen erhalten, indem ich Transaktionen in den letzten Blöcken untersuchte. Aber wie würde ich vorgehen, um aktuelle ausstehende und unbestätigte Transaktionen an eine bestimmte Adresse / einen bestimmten Vertrag zu senden?

Zum Beispiel kann ich zu https://etherscan.io/address/ gehen und sehe „(pending) 6 seconds ago“. Wie stellt etherscan.io dies fest? Ich würde das gerne selbst machen. Muss ich einen Knoten ausführen? Ein Freund hat etwas über einen Zuhörer erwähnt, aber ich bin mir nicht sicher, ob das die richtige Richtung ist.

******* Bearbeiten ********

Diese Etherscan-API scheint keine ausstehenden Transaktionen zurückzugeben. Nur eine in einem Block. Aber ihre Website zeigt deutlich ausstehende Transaktionen ...

http://api.etherscan.io/api?module=account&action=txlist&address=0x1234.....5678&startblock=4271910&endblock=99999999&sort=asc&apikey=KEYGOESHERE

Antworten (1)

Schauen Sie hier nach Transaktionen besser verstehen

Vollständige Nodes hören und übertragen Transaktionen. Als Full Node erhalten und können Sie die ausstehenden Transaktionen in Ihrem Transaktionspool anzeigen. Das macht Etherscan. Vielleicht können Sie nicht über ihre API darauf zugreifen, ihre Wahl.

Sie können also einige der ausstehenden Transaktionen als Knoten erhalten, aber Sie können nicht auswählen, und höchstwahrscheinlich wurden einige Transaktionen in einen Block aufgenommen, bevor sie Sie in einem ausstehenden Zustand erreichen.

Danke für den Link. Ich werde mich weiter einlesen. Wenn Full Nodes also nicht einmal alle ausstehenden Transaktionen sehen, würde das bedeuten, dass selbst die Website von Etherscan (auf der möglicherweise ein Full Node ausgeführt wird) Ihnen möglicherweise nicht 100 % aller ausstehenden Transaktionen anzeigen könnte, richtig?
Ja, sobald die Transaktion in einem Block abgebaut wird, haben Nodes keinen Grund, sie in der ausstehenden Warteschlange zu halten oder sie zu senden, weder an Sie noch an Etherscan.
Ich verstehe, dass sich ein abgebauter Block nicht mehr in der Warteschleife befindet. Ich frage mich, ob: Kann ein Knoten alle ausstehenden Transaktionen im gesamten Netzwerk sehen? Und hat die Website von Etherscan (vorausgesetzt, es ist nur ein Fenster zu einem vollständigen Knoten) keinen Einblick in alle ausstehenden Transaktionen im gesamten Netzwerk? Wenn also Knoten A eine Transaktion als anhängig registriert, sieht Knoten B/C/D, dass Knoten A eine Transaktion anhängig macht?
Sie verstehen nicht, wie Peer-to-Peer-Netzwerke funktionieren. Sie sind mit einigen Peers verbunden, die selbst mit einigen Peers verbunden sind, und Sie senden an Ihre Peers, die ihrerseits an andere Knoten senden, bis etwas passiert. Es gibt KEINEN zentralen Speicher für ausstehende Transaktionen, die Sie abfragen könnten. Wenn Sie mit vielen Peers verbunden wären, würden Sie mehr Transaktionen kommen sehen. Sie können sich vorstellen, alle vollständigen Knoten als Peers zu haben, es gibt ungefähr 24.000. Das bedeutet nicht, dass Sie garantiert alle Transaktionen erhalten, aber das ist das Beste, was Sie tun könnten, denke ich.