第90篇 remix 中 bytes32[] 类型传参

第90篇 remix 中 bytes32[] 类型传参,第1张

本文环境:

*** 作系统:windows10

浏览器:google chrome

合约部署:网页 remix IDE

1. 问题描述

部署智能合约正常,使用时“bytes32[]”类型总是输不对。

1.1 空着不填

报错信息如下:

transact to myHero.safeTransferFrom errored: Error encoding arguments: Error: invalid arrayify value (argument="value", value="", code=INVALID_ARGUMENT, version=bytes/5.0.5)
transact to myHero.safeTransferFrom errored: Error encoding arguments: Error: invalid arrayify value (argument="value", value="", code=INVALID_ARGUMENT, version=bytes/5.0.5)
transact to myHero.safeTransferFrom errored: Error encoding arguments: Error: invalid arrayify value (argument="value", value="", code=INVALID_ARGUMENT, version=bytes/5.0.5)

2.如果随意输入数值:

报错信息如下:

transact to myHero.safeTransferFrom errored: Error encoding arguments: Error: invalid arrayify value (argument="value", value="123456", code=INVALID_ARGUMENT, version=bytes/5.0.5)
transact to myHero.safeTransferFrom errored: Error encoding arguments: Error: invalid arrayify value (argument="value", value="123456", code=INVALID_ARGUMENT, version=bytes/5.0.5)
transact to myHero.safeTransferFrom errored: Error encoding arguments: Error: invalid arrayify value (argument="value", value="123456", code=INVALID_ARGUMENT, version=bytes/5.0.5)
transact to myHero.safeTransferFrom errored: Error encoding arguments: Error: invalid arrayify value (argument="value", value="123456", code=INVALID_ARGUMENT, version=bytes/5.0.5)
transact to myHero.safeTransferFrom errored: Error encoding arguments: Error: invalid arrayify value (argument="value", value="123456", code=INVALID_ARGUMENT, version=bytes/5.0.5)
2.解决方法

因为此处的输入不会自动补位,所以必须是刚好64位16进制编码才行,如:[“0x7465737400000000000000000000000000000000000000000000000000000000”]

*** 作后正常:

记录之,仅供参考;

本篇参考文档:

remix - Example for type bytes32 in Solidity - Ethereum Stack Exchange

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/1298471.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-10
下一篇 2022-06-10

发表评论

登录后才能评论

评论列表(0条)

保存