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)
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 '
Sanchit
Shourie Ganguly
Sanchit