Hardhat 控制台在同一语句中记录一个字符串和变量

Hardhat console log a string and variable in same statement

有没有一种方法可以使用 hardhat/console.sol 在同一语句中记录一个字符串和一个 bytes 变量?或者至少让它们打印在同一行上?

Hardhat docs 中显示您可以添加字符串参数:

console.log("Changing owner from %s to %s", currentOwner, newOwner)

但是有没有办法对其他类型的变量执行此操作?

(string,bytes,bytes)hardhat/console.sol 合约的 log 函数没有重载,但有一个用于:


    function log(string memory p0, string memory p1, string memory p2) internal view {
        _sendLogPayload(abi.encodeWithSignature("log(string,string,string)", p0, p1, p2));
    }

也就是说,你可以这样使用它:

    console.log("your format string %s %s", string(yourBytesVariable1), string(yourBytesVariable2));