下面是我的truffle.js
文件。如你所见,development
和privateLive
完全一样。
// truffle.js
module.exports = {
networks: {
development: {
provider: () => new PrivateKeyProvider(privateKey, sidechainEndpoint),
host: 'http://222.200.180.185',
port: 8545,
network_id: '*', // eslint-disable-line camelcase
from: '0xab2ec9c41aee37c87466fe54194bb88ba5c5ca31'
},
privateLive: {
provider: () => new PrivateKeyProvider(privateKey, sidechainEndpoint),
host: 'http://222.200.180.185',
port: 8545,
network_id: '*', // eslint-disable-line camelcase
from: '0xab2ec9c41aee37c87466fe54194bb88ba5c5ca31'
},
...
}
我有一个空的测试文件test/test.js
。
// test/test.js
// empty
下面的命令成功。
$ ./node_modules/truffle/build/cli.bundled.js test test/testp.js
Using network 'development'.
0 passing (1ms)
但是,以下命令失败。
$ ./node_modules/truffle/build/cli.bundled.js --network privateLive test test/test.js
Using network 'privateLive'.
Transaction: 0x4d11ca4f12122d8b70ad71bd272ef7fd01a70a96025c3b2249237e5631287507 exited with an error (status 0).
Please check that the transaction:
- satisfies all conditions set by Solidity `require` statements.
- does not trigger a Solidity `revert` statement.
谁能告诉我有什么区别以及为什么truffle
表现得那样。
我也想知道如何才能找到交易失败的原因。我尝试了eth.getTransaction
和eth.getTransactionReceipt
,没有发现任何有用的东西。
非常感谢。
您可以尝试使用truffle debug调试事务,如下所示:
truffle debug 0x4d11ca4f12122d8b70ad71bd272ef7fd01a70a96025c3b2249237e5631287507 --network=privateLive
详细了解如何使用松露here进行调试