Blockchain

Truffle - 將契約遷移到 Azure 中的專用網路

  • April 26, 2017

我嘗試將智能合約遷移到在 Azure 中執行的專用網路。它適用於 testrpc 但是當我嘗試將它遷移到(遠端)專用網路時,我總是收到以下錯誤:

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)

到目前為止我所做的是創建和編譯契約並修改truffle.js

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

當我migrate --network azure在松露控制台中執行時,會發生錯誤。

有人知道如何正確執行嗎?分別為什麼會出現錯誤?

謝謝

我遇到了同樣的問題,我設法讓它執行,geth 'OtherOptions' --unlock 0這將為我們解鎖 coinbase。

PS:這不是一個好習慣。

您還可以使用web3.personal.unlockAccountDAPP 本身解鎖 coinbase。

你需要解鎖你的硬幣基地才能使用

個人.unlockAccount(eth.coinbase,“your_pass_phrase”,time_in_miliseconds)

如果您指定時間 0(零),則該帳戶被永久解鎖,您可以手動鎖定它。

請參閱此連結以獲取更多管理帳戶的選項

引用自:https://ethereum.stackexchange.com/questions/12954