Truffle - Migrar contrato a una red privada en Azure

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.jspara

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 azureen la consola de trufas, se produce el error.

¿Alguien sabe cómo hacerlo correctamente? Respectivamente, ¿por qué se produce el error?

Gracias

Ejecuta esto por mí 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.
Y tal vez es westerNeurope, con una N?
Parece funcionar en la medida en que el error ya no ocurre. Cerré la consola de trufas y la encendí de nuevo y ahora voy un paso más allá. Ahora me sale el error 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"?

Respuestas (2)

Tuve el mismo problema. Logré hacer que esto funcionara, geth 'OtherOptions' --unlock 0lo 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.unlockAccountdesde 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