如何在Remix中向Solidity函数传入空bytes参数以返回ZERO结果?
在Remix中向Solidity函数传入空bytes参数的方法
针对你写的这个Solidity函数:
function checkEmptyBytes(bytes calldata _data) external pure returns (string memory){ if (_data.length > 0){ return "NOT_ZERO"; } return "ZER0"; }
要让它返回"ZERO",你可以在Remix里用以下两种方式传入空_data参数:
方法一:直接留空参数输入框
在Remix的「Deploy & Run Transactions」面板里找到已部署的合约,展开checkEmptyBytes函数的输入区域,不要在输入框里填任何内容,直接点击「call」按钮即可。Remix会自动将空输入解析为空的bytes数组。方法二:输入
0x
这是以太坊生态中表示空字节数据的标准格式。在参数输入框中输入0x(注意是小写的x,后面不需要加任何十六进制字符),然后点击「call」,函数就会识别到这是空bytes,返回"ZERO"。
两种方法都能达到预期效果,你可以根据习惯选择其中一种。
内容的提问来源于stack exchange,提问作者GraphicalDot
相关产品推荐
相关产品推荐

