проблема
При использовании truffle debug
я обнаружил, что мой контракт неожиданно отменяется.
Когда я запускаю
$ truffle debug <my transaction hash>
Я получаю
Gathering transaction data...
Addresses affected:
0x9f308fb36b159f53607b5f1c6fbff957648caf6b - SNM
Commands:
......
SNM.sol:
113: }
114:
115: contract SNM is StandardToken {
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
debug(privateLive:0x25fe2b0a...)>
Если просто введите
debug(privateLive:0x25fe2b0a...)> i
Транзакция была остановлена с ошибкой во время выполнения.
Transaction halted with a RUNTIME ERROR.
This is likely due to an intentional halting expression, like assert(), require() or revert(). It can also be due to out-of-gas exceptions. Please inspect your transaction parameters and contract code to determine the meaning of this error.
Я подхожу ближе и
debug(privateLive:0x25fe2b0a...)> ;
и после долгогопоследовательность кодов, я нашел
SNM.sol:
(77) REVERT
00000000000000000000000000000000000000000000000000000000d73dd623
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000 (top)
113: }
114:
115: contract SNM is StandardToken {
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Я не знаю, что привело к этому REVERT
, так как contract SNM
запускает свой самый первый код.
Я понятия не имею, какотладить его, потому что кажется, что невозможно понять байт-коды командой ;
.
Может ли кто-нибудь мне помочь?Не стесняйтесь просить меня предоставить больше информации.
версии
$ truffle version
Truffle v4.1.15 (core: 4.1.15)
Solidity v0.4.25 (solc-js)