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

Remix调用合约view方法报"Invalid account selected"错误如何解决?

错误触发原因

  • 只读类的view/pure函数调用call()虽然不需要支付gas、也不需要签名上链,但Remix内置封装的web3实例执行call()方法时,会默认读取IDE当前选中的账户作为默认的from入参
  • 你的代码中current_supply().call()没有显式指定from参数,当Remix账户面板没有选中有效账户、或选中的账户和当前连接的链环境不匹配时,就会抛出「Invalid account selected」错误
  • 之前的SetMaxSupply.send()调用因为你显式传入了from: accounts[0],会直接使用你指定的账户,不需要读取IDE的默认选中账户,因此可以正常执行

解决方法

两种方案任选其一即可:

  1. 给call()调用也显式指定from参数,和send调用的参数保持一致:
let supply = await contract.methods.current_supply().call({from: accounts[0]})
  1. 运行脚本前,先在Remix左侧「Deploy & run transactions」面板的「ACCOUNT」下拉列表中,手动选中一个可用的链上账户,再执行脚本即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 11:18:02