Ich betreibe einen Testnet Ropsten (Revival) Ethereum Node. Ich möchte den Inhalt von txpool abrufen. Mit einer Geth-Konsole kann ich auf die Variable txpool zugreifen.
Meine Frage ist, wie kann ich auf diese Variable in einem web3-Skript zugreifen?
Web3 = require("web3");
web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"));
Etwas wie das Folgende:
pendingTx = web3.txpool ?
pendingTx = web3.eth.txpool ?
sie sind alle undefiniert...
Mit Web3 1.0.0 ist es einfach, es selbst zu implementieren:
var Web3 = require('web3');
var web3 = new Web3('ws://127.0.0.1:8546');
web3.eth.extend({
property: 'txpool',
methods: [{
name: 'content',
call: 'txpool_content'
},{
name: 'inspect',
call: 'txpool_inspect'
},{
name: 'status',
call: 'txpool_status'
}]
});
Dann ganz normal verwenden:
web3.eth.txpool.status().then(console.log).catch(console.error)
Ausgabe:
{pending: "0x0", queued: "0x0"}
Auf die gleiche Weise können Sie Web3 erweitern, um alle anderen "fehlenden" JSON RPC aufzurufen .
content
funktioniert nicht, während andere funktionieren.
Sanchit
jfjobidon
Sanchit
Ismael
--XXXapi
ermöglicht nur, dass die serverseitige API verfügbar ist. Auf der Client-Seite können Sie npmjs.com/package/web3admin verwenden , um das normale web3 um zusätzliche Methoden zu erweitern. Aber einige Methoden fehlen noch und Sie müssen sie von Hand hinzufügen.