0

我正在尝试将合约部署到我成功部署到 test-rpc 和使用 geth --dev 标志的测试网络的主网络(“1”)。

这是我的 truffle.js 文件的外观:

module.exports = {
  networks: {
    development: {
      host: "localhost",
      port: 8545,
      network_id: "*" // Match any network id
    },
    // geth: {
    //   host: 'http://10.0.0.241',
    //   port: 8110,
    //   network_id: '1234' // Match network id
    //   // from: '0x7824b8756cfa5131ead88e190e8adb10546fefaf' // account 0 
    //     // (default account which has been already unlocked)
    // },
    live: {
      network_id: 1,
      host: "localhost",
      port: 8546,
      from: "3984bc76cb775d7866d1cd55c4f49e3d13d411d4"
      // host: "localhost",
      // port: 8546   // Different than the default below
      // optional config values:
      // gas
      // gasPrice
      // from - default address to use for any transaction Truffle makes during migrations
      // provider - web3 provider instance Truffle should use to talk to the Ethereum network.
      //          - if specified, host and port are ignored.
    }
  }
};

我跑:

geth --unlock 3984bc76cb775d7866d1cd55c4f49e3d13d411d4 --mine --minerthreads 1 --port 8546 --rpc --rpcapi db,eth,net,web3,personal --rpccorsdomain * --rpcaddr "localhost" --rpcport 8546

…当我运行 truffle migrate…</p>

$ truffle migrate --network live  --verbose-rpc

Using network 'live'.


    > {
       >   "jsonrpc": "2.0",
       >   "id": 1,
       >   "method": "eth_call",
       >   "params": [
       >     {
       >       "from": "0x3984bc76cb775d7866d1cd55c4f49e3d13d411d4",
       >       "gas": "0x47e7c4",
       >       "gasPrice": "0x174876e800",
       >       "to": "0x16529aa9698987f5e1a983a8ac5f5bb7ccf25f82",
       >       "data": "0x445df0ac"
       >     },
       >     "latest"
       >   ]
       > }
    Error: Invalid JSON RPC response: ""
        at Object.InvalidResponse (/usr/local/lib/node_modules/truffle/build/cli.bundled.js:37022:16)
        at XMLHttpRequest.request.onreadystatechange (/usr/local/lib/node_modules/truffle/build/cli.bundled.js:208519:32)
        at XMLHttpRequestEventTarget.dispatchEvent (/usr/local/lib/node_modules/truffle/build/cli.bundled.js:210395:18)
        at XMLHttpRequest._setReadyState (/usr/local/lib/node_modules/truffle/build/cli.bundled.js:210685:12)
        at XMLHttpRequest._onHttpRequestError (/usr/local/lib/node_modules/truffle/build/cli.bundled.js:210875:12)
        at ClientRequest.<anonymous> (/usr/local/lib/node_modules/truffle/build/cli.bundled.js:210745:24)
        at emitOne (events.js:115:13)
        at ClientRequest.emit (events.js:210:7)
        at Socket.socketOnEnd (_http_client.js:437:9)
        at emitNone (events.js:110:20)

我已经尝试了各种不同的方法来解决这个问题,但到目前为止无济于事。有人有什么想法吗?

只需检查几件事: - 帐户已解锁。- 该帐户已获得资金,尽管不是以 Scrooge McDuck 方式:https ://etherscan.io/address/0x3984bc76cb775d7866d1cd55c4f49e3d13d411d4

4

1 回答 1

0

事实证明,即使我包含了 flag --rpcport 8546,geth 也在 8545 上监听。如果我阅读了它在运行后喷出的文本块,我就会知道这一点。

INFO [08-10|09:54:42] HTTP endpoint opened: http://127.0.0.1:8545
于 2017-08-10T14:09:15.577 回答