Intento migrar un contrato inteligente a una red privada que se ejecuta en Azure. Funciona bien con testrpc, pero cuando intento migrarlo a la red privada (remota), siempre aparece el siguiente error:
Error: Invalid JSON RPC response: ""
at Object.InvalidResponse (C:\Users\xxx\AppData\Roaming\npm\node_modules\truffle\node_modules\web3\lib\web3\errors.js:35:16)
at XMLHttpRequest.request.onreadystatechange (C:\Users\xxx\AppData\Roaming\npm\node_modules\truffle\node_modules\web3\lib\web3\httpprovider.js:116:32)
at XMLHttpRequestEventTarget.dispatchEvent (C:\Users\xxx\AppData\Roaming\npm\node_modules\truffle\node_modules\xhr2\lib\xhr2.js:64:18)
at XMLHttpRequest._setReadyState (C:\Users\xxx\AppData\Roaming\npm\node_modules\truffle\node_modules\xhr2\lib\xhr2.js:354:12)
at XMLHttpRequest._onHttpRequestError (C:\Users\xxx\AppData\Roaming\npm\node_modules\truffle\node_modules\xhr2\lib\xhr2.js:544:12)
at ClientRequest.<anonymous> (C:\Users\xxx\AppData\Roaming\npm\node_modules\truffle\node_modules\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)
at Socket.emit (events.js:188:7)
at emitErrorNT (net.js:1278:8)
at _combinedTickCallback (internal/process/next_tick.js:74:11)
at process._tickDomainCallback (internal/process/next_tick.js:122:9)
Lo que hice hasta ahora fue crear y compilar el contrato y modificarlo truffle.js
para
module.exports = {
networks: {
azure: {
network_id: xxx,
host: "xxx.westeurope.cloudapp.azure.com",
port: 8545
},
development: {
host: "localhost",
port: 8545,
network_id: "*" // Match any network id
}
}
};
Cuando ejecuto migrate --network azure
en la consola de trufas, se produce el error.
¿Alguien sabe cómo hacerlo correctamente? Respectivamente, ¿por qué se produce el error?
Gracias
Tuve el mismo problema. Logré hacer que esto funcionara, geth 'OtherOptions' --unlock 0
lo que desbloqueará la base de monedas para nosotros.
PD: Esta no es una buena práctica.
También puede desbloquear la base de monedas web3.personal.unlockAccount
desde el propio DAPP.
necesita desbloquear su base de monedas para hacerlo, use
personal.unlockAccount(eth.coinbase,"su_frase_de_contraseña",tiempo_en_milisegundos)
si especifica el tiempo 0 (cero), entonces la cuenta se desbloqueó de forma permanente, puede bloquearla manualmente.
consulte este enlace para obtener más opciones para administrar sus cuentas
herman junge
curl -X POST --data '{"jsonrpc":"2.0","method":"web3_clientVersion","params":[],"id":67}' xxx.westeurope.cloudapp.azure.com
. Esto me dirá si tiene o no acceso a su servidor RPC.herman junge
westerNeurope
, con una N?quervernetzt
Error: authentication needed: password or unlock
. ¿Sabe cómo proporciono la autenticación/contraseña para la cuenta proporcionada en el archivo de configuración a través de "desde"?