我无法迁移truffle init附带的标准合同。这是我做的:
truffle init
truffle compile
truffle migrate
这是我在init时生成的:
但是当我迁移时,会出现以下错误列表:
Error: Invalid JSON RPC response: ""
at Object.InvalidResponse (/usr/local/lib/node_modules/truffle/node_modules/web3/lib/web3/errors.js:35:16)
at XMLHttpRequest.request.onreadystatechange (/usr/local/lib/node_modules/truffle/node_modules/web3/lib/web3/httpprovider.js:115:32)
at XMLHttpRequestEventTarget.dispatchEvent (/usr/local/lib/node_modules/truffle/node_modules/xhr2/lib/xhr2.js:64:18)
at XMLHttpRequest._setReadyState (/usr/local/lib/node_modules/truffle/node_modules/xhr2/lib/xhr2.js:354:12)
at XMLHttpRequest._onHttpRequestError (/usr/local/lib/node_modules/truffle/node_modules/xhr2/lib/xhr2.js:544:12)
at ClientRequest.<anonymous> (/usr/local/lib/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:309:9)
at emitOne (events.js:96:13)
正如webjunkie评论:
testrpc
truffle migrate
对于Solidty To Migrate,本地以太坊区块链应该已经运行,您要迁移的智能合约应该转到正确的Local Ethereum区块链,因此您需要检查本地以太坊区块链的端口号。
ganache-cli
或testrpc
(制作当地的区块链)。它具有在其下面运行的端口号。如http://localhost:8545
。truffle.js
文件并检查该端口应该是8545
。truffle migrate
迁移智能合约。合同名称不应与函数名称相同。