javascript – 与表单一起使用时,字符串参数不会自动解析为bytes32

我有一个坚固的功能,看起来像这样 –

function issueCertificate(address _recipient, bytes32 _certi_name)

当我使用松露控制台调用该功能时,我可以使用以下方式运行它:

issueCertificate("0x0213e3852b8afeb08929a0f448f2f693b0fc3ebe", "random")

但是当我使用web3运行它并使用字符串格式的相同数据表单时,它会给出错误 –

Error: Given parameter is not bytes: “random”

我想我错过了一些基本的东西.请帮忙.

解决方法:

尝试:

issueCertificate("0x0213e3852b8afeb08929a0f448f2f693b0fc3ebe", bytes32("random"))

基本上,用bytes32()包装字符串

编辑,错过了从Web3尝试的调用:

issueCertificate("0x0213e3852b8afeb08929a0f448f2f693b0fc3ebe", web3.fromAscii("random"))

基本上,在Web3中使用web3.fromAscii()包装字符串

更新:

最新版本用途:

issueCertificate("0x0213e3852b8afeb08929a0f448f2f693b0fc3ebe", web3.utils.fromAscii("random"))
上一篇:Apsara Stack 技术百科 | 标准化的云时代:一云多芯


下一篇:Legacy autograd function with non-static forward method is deprecated and will be removed in 1.3.