Destrozándome los sesos aquí, geth
está ejecutando el RPC como se esperaba, pero no puedo conectarme con él, web3
estoy ejecutando así:
geth --rpc --rpccorsdomain "*" --rpcapi "eth,web3"
Estoy ejecutando esto screen
y 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.3
y npm install web3
esta 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 setProvider
la inspección del web3
objeto veo:
_provider: HttpProvider { host: 'http://localhost:8545', timeout: 0, connected: false },
Probé varias otras web3.eth
API, pero no tuve suerte. ¿Cómo puedo conectarlo? ¿He entendido algo fundamentalmente mal aquí?
npm
instala 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.
lasec0203