第90篇 remix智能合约中 bytes32[] 类型的输入
Posted wonderBlock
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第90篇 remix智能合约中 bytes32[] 类型的输入相关的知识,希望对你有一定的参考价值。
本文环境:
操作系统: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
以上是关于第90篇 remix智能合约中 bytes32[] 类型的输入的主要内容,如果未能解决你的问题,请参考以下文章