Geth RPC se está ejecutando pero no se puede conectar en Web3 nodejs

Destrozándome los sesos aquí, gethestá ejecutando el RPC como se esperaba, pero no puedo conectarme con él, web3estoy ejecutando así:

geth --rpc --rpccorsdomain "*" --rpcapi "eth,web3"

Estoy ejecutando esto screeny veo en la terminal que comienza a ejecutar la API de RPC y luego continúa sincronizando la cadena de bloques.

He confirmado que la API se está ejecutando:

curl -H "Content-Type: application/json" -X POST --data '{"jsonrpc":"2.0","method":"web3_clientVersion","params":[],"id":67}' http://localhost:8545

Que devuelve como se esperaba:

{"jsonrpc":"2.0","id":67,"result":"Geth/v1.7.3-stable-4bb3c89d/linux-amd64/go1.9"}

Estoy ejecutando nodejs v6.12.3y npm install web3esta mañana. El script de nodejs que estoy intentando es:

#!/usr/bin/nodejs

var Web3 = require('web3');
var web3 = new Web3(); // returns as expected

web3.setProvider(new web3.providers.HttpProvider('http://localhost:8545'));

var coinbase = web3.eth.coinbase;
console.log(coinbase); // undefined

Me di cuenta de que después de ejecutar setProviderla inspección del web3objeto veo:

_provider: HttpProvider { host: 'http://localhost:8545', timeout: 0, connected: false },

Probé varias otras web3.ethAPI, pero no tuve suerte. ¿Cómo puedo conectarlo? ¿He entendido algo fundamentalmente mal aquí?

Respuestas (1)

npminstala la nueva versión de la API de forma predeterminada ahora. Puedes consultar con:

var Web3 = require('web3');
var web3 = new Web3();
web3.version

Si es> 1.0.0, debe consultar esta documentación: http://web3js.readthedocs.io/en/1.0/index.html

O consigue la versión anterior:

npm uninstall web3
npm install web3@0.20.3

No se me debería permitir estar cerca de las computadoras.

esto no responde la pregunta en absoluto