2017-03-03 60 views
0

如標題所述,運行松露測試後,我得到這個差不多:復仇松露MetaCoin失敗的內在氣體太低「

TestMetacoin 
    1) "before all" hook: prepare suite 

    Contract: MetaCoin 
    ✓ should put 10000 MetaCoin in the first account 
    2) should call a function that depends on a linked library 
    > No events were emitted 
    ✓ should send coin correctly (6078ms) 


    2 passing (6s) 
    2 failing 

    1) TestMetacoin "before all" hook: prepare suite: 
    Error: Intrinsic gas too low 
     at Object.InvalidResponse (/usr/lib/node_modules/truffle/node_modules/truffle-contract/node_modules/web3/lib/web3/errors.js:35:16) 
     at /usr/lib/node_modules/truffle/node_modules/truffle-contract/node_modules/web3/lib/web3/requestmanager.js:86:36 
     at XMLHttpRequest.request.onreadystatechange (/usr/lib/node_modules/truffle/node_modules/web3/lib/web3/httpprovider.js:119:13) 
     at XMLHttpRequestEventTarget.dispatchEvent (/usr/lib/node_modules/truffle/node_modules/xhr2/lib/xhr2.js:64:18) 
     at XMLHttpRequest._setReadyState (/usr/lib/node_modules/truffle/node_modules/xhr2/lib/xhr2.js:354:12) 
     at XMLHttpRequest._onHttpResponseEnd (/usr/lib/node_modules/truffle/node_modules/xhr2/lib/xhr2.js:509:12) 
     at IncomingMessage.<anonymous> (/usr/lib/node_modules/truffle/node_modules/xhr2/lib/xhr2.js:469:24) 
     at endReadableNT (_stream_readable.js:974:12) 
     at _combinedTickCallback (internal/process/next_tick.js:74:11) 
     at process._tickDomainCallback (internal/process/next_tick.js:122:9) 

    2) Contract: MetaCoin should call a function that depends on a linked library: 
    AssertionError: Library function returned unexpected function, linkage may be broken: expected 0 to equal 20000 
     at test/metacoin.js:25:14 
     at process._tickDomainCallback (internal/process/next_tick.js:129:7) 

我成因塊如下:

{ 
    "nonce": "0x0000000000000042", 
    "difficulty": "0x4000", 
    "alloc": { 
      "0xfd0ceb7965a0e4c3146c1f901fbab9668653af6b": { 
      "balance": "325406000000000" 
     } 
    }, 
    "mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000", 
    "coinbase": "0xfd0ceb7965a0e4c3146c1f901fbab9668653af6b", 
    "etherbase" : "0xfd0ceb7965a0e4c3146c1f901fbab9668653af6b", 
    "timestamp": "0x00", 
    "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000", 
    "extraData": "0x", 
    "gasLimit": "0x3d0900" 
} 

而且我truffle.js是這樣的:

module.exports = { 
    networks: { 
    development: { 
     host: "localhost", 
     port: 8545, 
     network_id: "*", // Match any network id 
     gas: 1000000 
    } 
    } 
}; 

我不明白什麼是錯的,在這些設置氣體。即使沒有人有確切的答案,對氣體限制(而不是氣體本身)的一些額外解釋將會有所幫助。

回答

0

我最終改變發生塊gasLimit到

"gasLimit": "0x2FEFD800", 

配置宅基地塊10(顯然否則就與GETH工作時有問題):

"config": { 
      "homesteadBlock": 10 
    }, 

和truffle.js氣體設定至5000000.

測試通過。