Ich führe einen Geth-Knoten im Testnetz aus und versuche, die web3.js-Methode von meinem Knotenservercode auszuführen.
Hier ist mein Code
var Web3 = require("web3");
var web3 = new Web3(new Web3.providers.HttpProvider('http://0.0.0.0:8545'));
console.log(web3.net.peerCount);
Ich erhalte jedoch den Fehler, dass die net_peerCount-Methode nicht implementiert ist.
Tatsächlich erhalte ich einen ähnlichen Fehler, dass die Methode nicht implementiert ist, wenn ich versuche, auf net- oder eth-Methoden zuzugreifen.
Jede Hilfe geschätzt!
Ich habe es zum Laufen gebracht, indem ich den Befehl ausgeführt habe, den ich in der Dokumentation https://github.com/ethereum/go-ethereum/wiki/JavaScript-Console#adminstartrpc gefunden habe
admin.startRPC("127.0.0.1", 8545, "*", "web3,db,net,eth")
von meiner Geth-Konsole!
Danke für die Vorschläge :)
Versuchen Sie, Fälle nicht zu mischen, wenn Sie die web3-Variable verwenden. Wenn Sie die Adresse angeben, haben Sie hoffentlich nicht 0.0.0.0 verwendet. Hier ist ein Beispiel für einen lokalen Knoten:
var web3=require('web3');
web3.setProvider(new web3.providers.HttpProvider('http://localhost:8545'));
Als Referenz konsultieren Sie das Javascript-API-Hilfedokument im doc-Verzeichnis.
Diese Antwort auf reddit hat mir geholfen.
Führen Sie geth aus mit:
geth --rpc --rpcapi "web3,net,personal,eth"
Die "persönliche" API wird standardmäßig nicht mit der --rpc
Option angezeigt. Sobald Sie das oben Gesagte tun, werden alle aufgelisteten angezeigt, einschließlich persönlicher, mit denen Sie das tun können personal_unlockAccount
und personal_newAccount
(wovon ich annehme, dass Sie danach suchen).
Tjaden Hess