Error de respuesta JSON RPC no válido al usar truffle migrate + geth

Pude implementar con éxito contratos en ethereumjs testrpc con truffle sin ningún problema. Ahora quería hacer lo mismo en un nodo remoto que ejecuta geth 1.6.1 pero me da un error JSON RPC cada vez que intento ejecutar truffle migrate. No hay problemas con los puertos y todos los puertos están abiertos. Intenté configurar un directorio de datos nuevo, pero el mismo problema persiste

comando utilizado para iniciar el cliente geth: -

geth --datadir /home/ubuntu/privatenet/test1 --networkid "1234" --rpcapi "admin,db,eth,debug,miner,net,shh,txpool,personal,web3,web3_extended" --rpc --port 30310 --rpcaddr "0.0.0.0" --rpcport 8110 --rpccorsdomain="*" --nat "any" --unlock '0,1' console 2>> /home/ubuntu/privatenet/test1/eth8.log

mi archivo truffle.js es el siguiente: -

module.exports = {
  networks: {
    development: {
      host: 'localhost',
      port: 8545,
      network_id: '*' // Match any network id
    },
    geth: {
      host: 'http://10.0.0.241',
      port: 8110,
      network_id: '1234', // Match network id
      from: '0x7824b8756cfa5131ead88e190e8adb10546fefaf' // account 0 
        (default account which has been already unlocked)
    }
  }
};

comando utilizado: truffle migrate --network geth

Resultado:

Compiling .\contracts\ UtilityEVEC.sol...
Compiling .\contracts\TokenWallet.sol...
Compiling .\contracts\contractContainer.sol...
Writing artifacts to .\build\contracts

Using network 'geth'.

    Running migration: 1_initial_migration.js
    Error: Invalid JSON RPC response: ""
        at Object.InvalidResponse (C:\Users\Administrator\AppData\Roaming\npm\node_modules\truffle\node_modu
    les\web3\lib\web3\errors.js:35:16)
    at XMLHttpRequest.request.onreadystatechange (C:\Users\Administrator\AppData\Roaming\npm\node_module
    s\truffle\node_modules\web3\lib\web3\httpprovider.js:115:32)
        at XMLHttpRequestEventTarget.dispatchEvent (C:\Users\Administrator\AppData\Roaming\npm\node_modules\
    truffle\node_modules\xhr2\lib\xhr2.js:64:18)
        at XMLHttpRequest._setReadyState (C:\Users\Administrator\AppData\Roaming\npm\node_modules\truffle\no
    de_modules\xhr2\lib\xhr2.js:354:12)
        at XMLHttpRequest._onHttpRequestError (C:\Users\Administrator\AppData\Roaming\npm\node_modules\truff
    le\node_modules\xhr2\lib\xhr2.js:544:12)
    at ClientRequest.<anonymous> (C:\Users\Administrator\AppData\Roaming\npm\node_modules\truffle\node_m
    odules\xhr2\lib\xhr2.js:414:24)
        at emitOne (events.js:96:13)
        at ClientRequest.emit (events.js:188:7)
        at Socket.socketErrorListener (_http_client.js:310:9)
        at emitOne (events.js:96:13)
¿Intentó eliminar datadir e instanciar el bloque de génesis una vez más? Estos son los pasos para configurar una red privada desde cero: ethereum.stackexchange.com/questions/125/… Además, verifique si el puerto 8110 está abierto en su máquina remota.
Sí, intenté hacerlo hoy... lo configuré desde cero, pero sigo recibiendo el mismo error. No hay problemas con los puertos. Realmente no puedo encontrar una razón por la que esto está sucediendo.
--rpcaddr "0.0.0.0" acaba de notar esto, supongo que deberías cambiar esto con 10.0.0.241

Respuestas (1)

Tuve el mismo error que se debió a una IP incorrecta en el parámetro del host. Aparentemente, este error se produce cuando truffle no puede establecer la conexión con el nodo de red.

En su configuración de truffle.js, solo debe establecer el nombre de host, no el protocolo. Es decir:

Debería tener "10.0.0.241" en lugar de ' http://10.0.0.241 '