You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Etherscan中传递结构体数组作为函数参数

在Etherscan中正确传递结构体数组的方法

你的结构体定义如下:

struct PricingOption {
   uint208 price;
   uint40 numberOfEntries;
}

pricingOptions 为 PricingOption[] 类型。

你之前用嵌套数组的传参方式在Remix可行,但Etherscan不支持这种简化格式,需要改用键值对形式的对象数组传递,具体格式如下:

[{"price":1000000000000,"numberOfEntries":10},{"price":1700000000000,"numberOfEntries":20}]

原因说明

Etherscan的ABI解析器对结构体(tuple)的解析要求更严格,必须显式指定每个字段的名称和对应值,不能仅靠字段顺序映射。Remix会自动根据结构体定义的字段顺序匹配数组中的值,但Etherscan需要明确的键值对结构才能正确解析每个结构体元素,避免出现你遇到的「invalid tuple value」解析错误。

内容的提问来源于stack exchange,提问作者GorgeousPuree

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 23:09:51