第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[] 类型的输入的主要内容,如果未能解决你的问题,请参考以下文章

第89篇 defi实战-质押ERC20智能合约

第128篇 智能合约改进(ERC721)

基于以太坊的智能合约solidity学习日记

初识SolidityRemix与Geth节点结合部署智能合约

第一行代码:以太坊-使用更多的工具编写和测试智能合约

智能合约实战 solidity 语法学习 02 [ SPDX remix控制台介绍 ]