在写合约的过程中经常会遇到一些错误。这个时候想要查看合约运行过程中的一些数据,那么就可以用以下方法:
在合约中创建一个Event,起名为Log
在想要打印日志的地方调用事件 emit Log(...),就可以查看运行过程中的数据了
如下图:
点击deploy,在控制台就可以查看打印出的数据了
在方法中也可以使用(但是:不能使用view修饰)
调用consoleLog,打印出日志
以下是demo的完整代码
// SPDX-License-Identifier: MIT
pragma solidity >=0.8.0; // 版本号,使用大于0.8.0的版本编译器编译
contract TestLog {
// 创建一个Event,起名为Log
event Log(string);
event Log(uint256);
constructor() {
emit Log(123456);
emit Log("abcdef");
}
function consoleLog() public virtual returns(bool) {
emit Log(789);
emit Log("qaz");
return true;
}
}