Einfacher Weg, um txpool zu bekommen? [Duplikat]

Aktualisieren! Ich habe meinen Knoten mit ausgeführtgeth --rpcapi txpool --rpc

var Web3 = require('web3'); var web3 = new Web3(new Web3.providers.HttpProvider('http://127.0.0.1:8545')); console.log(web3.txpool);

bekomme ich noch

undefined

Mit

web3.eth.extend({   property: 'txpool',   methods: [{
    name: 'content',
    call: 'txpool_content'   },{
    name: 'inspect',
    call: 'txpool_inspect'   },{
    name: 'status',
    call: 'txpool_status'   }] });
web3.eth.txpool.content().then(console.log).catch(console.error)

Ich bekomme immer noch nur{ pending: '0x0', queued: '0x0' }

Wie kann das sein? Ich hatte Hunderte von Transaktionen erwartet.

Ich glaube, Sie verwechseln Python und JavaScript. Die Dokumentation, die Sie gerade lesen, bezieht sich auf eine Python-Bibliothek, aber Sie scheinen JavaScript-Code zu schreiben.
@carver Ich habe die dort vorgeschlagenen Lösungen ausprobiert ... aber es funktioniert nicht
Wenn es keine guten Antworten auf eine vorhandene Frage gibt, fügt das Erstellen einer weiteren Frage nur Lärm hinzu. Versuchen Sie, diese Frage positiv zu bewerten, zu kommentieren oder sogar die Frage mit einem Update zu klären.
Gelöst durch Warten auf eth.syncing

Antworten (2)

Wenn Sie Ihren Knoten ausführen, müssen Sie dies mit --rpcapi txpool tun

Ich denke, Sie haben Recht, ich versuche nur herauszufinden, wie ich die Daten verwenden kann, die ich bekomme, indem ich den Knoten auf diese Weise starte.
Ich habe es versucht var Web3 = require('web3'); var Web4 = require('web3'); web3 = new Web3(new Web3.providers.HttpProvider('https://rinkeby.infura.io/Whm5Ks3VGzJMBGHh4MEx')); var web4 = new Web4(Web4.givenProvider || "ws://localhost:8546");, console.log(web4.txpool);gibt mir aber immer nochundefined
Ich habe es geth --rpcapi txpool --rpczusammen mit web3 = new Web3(new Web3.providers.HttpProvider('http://localhost:8545'));und geth --wsapi txpool --wszusammen mit versucht var web3 = new Web3(Web3.givenProvider || 'ws://some.local-or-remote.node:8546');Funktioniert bei mir nicht
versuchen Sie es mit geth --rpc --rpcapi txpool,web3,net,eth

Die web3.py-Dokumente (zum Verbinden mit Python) sind nicht austauschbar mit web3.js-Dokumenten (zum Verbinden mit JavaScript). Sie haben unterschiedliche APIs.

Web3.js scheint keinen integrierten Mechanismus zum Abfragen des Transaktionspools zu haben (wahrscheinlich, weil die Herangehensweisen von Geth und Parität unterschiedlich sind). Siehe diese Antwort zum Hinzufügen Ihrer eigenen Pool-API: Wie greife ich in einem web3-Skript auf txpool zu?

Ich habe dies getan, aber ich bekomme keine Ergebnisse. Habe meinen Beitrag aktualisiert, um dies widerzuspiegeln