我的坚固函数看起来像这样 -
function issueCertificate(address _recipient, bytes32 _certi_name)
当我使用松露控制台调用该功能时,我可以使用 -
运行它issueCertificate("0x0213e3852b8afeb08929a0f448f2f693b0fc3ebe", "random")
但是,当我使用web3和以字符串格式的相同数据形式运行它时,它会产生错误 -
错误:给定的参数不是字节:"随机"
如果您使用的是Web3.js版本1.0,则可以包装字符串,如下所示:
web3.utils.asciiToHex("random")
请参阅此处的文档:
https://web3js.readthedocs.io/en/1.0/web3-utils.html#asciitohex
尝试:
issueCertificate("0x0213e3852b8afeb08929a0f448f2f693b0fc3ebe", bytes32("random"))
基本上,将字符串用Bytes32()
包裹编辑,错过了由Web3拨打的电话:
issueCertificate("0x0213e3852b8afeb08929a0f448f2f693b0fc3ebe", web3.fromAscii("random"))
基本上,在Web3中,用Web3.fromascii()
将字符串包裹起来更新:
最新版本用途:
issueCertificate("0x0213e3852b8afeb08929a0f448f2f693b0fc3ebe", web3.utils.fromAscii("random"))