Truffle – Vertrag zu einem privaten Netzwerk in Azure migrieren

Ich versuche, einen Smart Contract in ein privates Netzwerk zu migrieren, das in Azure ausgeführt wird. Es funktioniert gut mit testrpc, aber wenn ich versuche, es in das (entfernte) private Netzwerk zu migrieren, erhalte ich immer die folgende Fehlermeldung:

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)

Bisher habe ich den Vertrag erstellt, zusammengestellt und truffle.jsgeändert

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
    }
  }
};

Wenn ich migrate --network azurein der Truffle-Konsole starte, tritt der Fehler auf.

Weiß jemand wie man es richtig macht? bzw. warum tritt der Fehler auf?

Danke

Führen Sie das für mich aus curl -X POST --data '{"jsonrpc":"2.0","method":"web3_clientVersion","params":[],"id":67}' xxx.westeurope.cloudapp.azure.com. Dadurch wird mir mitgeteilt, ob Sie Zugriff auf Ihren Server-RPC haben oder nicht.
Und vielleicht ist westerNeurope, mit einem N ?
Es scheint zu funktionieren, soweit der Fehler nicht mehr auftritt. Ich habe die Trüffelkonsole geschlossen und neu gestartet und jetzt komme ich einen Schritt weiter. Jetzt bekomme ich den Fehler Error: authentication needed: password or unlock. Wissen Sie, wie ich die Authentifizierung / das Passwort für das in der Konfigurationsdatei angegebene Konto über "von" bereitstelle?

Antworten (2)

Ich hatte das gleiche Problem, mit dem ich es geschafft habe, dies zum Laufen zu bringen, geth 'OtherOptions' --unlock 0wodurch die Coinbase für uns freigeschaltet wird.

PS: Das ist keine gute Praxis.

Sie können die Coinbase auch über web3.personal.unlockAccountdie DAPP selbst entsperren.

Sie müssen Ihre Münzbasis entsperren, um dies zu tun

personal.unlockAccount(eth.coinbase,"your_pass_phrase",time_in_miliseconds)

Wenn Sie die Zeit 0 (Null) angeben, wurde das Konto dauerhaft entsperrt, Sie können es manuell sperren.

Unter diesem Link finden Sie weitere Optionen zum Verwalten Ihrer Konten