Estoy ejecutando un nodo geth en la red de prueba e intento ejecutar el método web3.js desde el código de mi servidor de nodo.
Aquí está mi código
var Web3 = require("web3");
var web3 = new Web3(new Web3.providers.HttpProvider('http://0.0.0.0:8545'));
console.log(web3.net.peerCount);
Sin embargo, obtengo un error en el método net_peerCount no implementado.
De hecho, recibo un error de método similar no implementado cuando intento acceder a cualquier método net o eth.
¡Cualquier ayuda apreciada!
Lo hice funcionar ejecutando el comando que encontré en los documentos https://github.com/ethereum/go-ethereum/wiki/JavaScript-Console#adminstartrpc
admin.startRPC("127.0.0.1", 8545, "*", "web3,db,net,eth")
desde mi consola geth!
Gracias por las sugerencias :)
Trate de no mezclar casos cuando use la variable web3. Cuando especifique la dirección, espero que no haya usado físicamente 0.0.0.0. Para un nodo local, aquí hay un ejemplo:
var web3=require('web3');
web3.setProvider(new web3.providers.HttpProvider('http://localhost:8545'));
Como referencia, consulte el documento de ayuda de Javascript-API en el directorio doc.
Esta respuesta en reddit me ayudó.
Ejecutar geth con:
geth --rpc --rpcapi "web3,net,personal,eth"
La API "personal" no está expuesta de forma predeterminada con la --rpc
opción. Una vez que haga lo anterior, expone todos los enumerados, incluidos los personales, que le permitirán hacer personal_unlockAccount
y personal_newAccount
(que supongo que está buscando).
tjaden hess