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

NEAR dApp调用nftSupply报account_id缺失错误,参数存在却异常求解决

NEAR dApp调用nftSupply报错的原因及解决

问题核心

调用nft.nftSupply(wallet.accountId)时触发解析错误,提示缺失account_id字段,但已确认参数存在,旧环境可正常运行。

可能原因

  • 合约方法参数格式不匹配:nftSupply合约方法要求传入包含account_id字段的对象,而非直接传入字符串。旧环境可能合约版本兼容宽松,允许位置参数,但新部署的合约或SDK严格要求结构化参数。
  • NEAR JS SDK版本差异:新环境安装的near-api-js版本与旧环境不同,新版本对合约方法调用的参数格式校验更严格,必须显式以对象形式传递参数。
  • 合约部署版本不一致:新账号部署的合约是更新后的版本,nftSupply方法的参数签名已变更,不再支持直接传字符串参数。

解决步骤

  1. 修改调用代码格式,将字符串参数包裹为对象:
    // 原代码
    nft.nftSupply(wallet.accountId)
    // 修改为
    nft.nftSupply({ account_id: wallet.accountId })
      .then(setTotalSupply)
      .catch(console.error)
    
  2. 核对合约方法定义,确认nftSupply的参数要求是否为包含account_id的结构体。
  3. 检查依赖版本,对比新旧环境的near-api-js版本,若差异过大,可尝试锁定旧版本或适配新版本的调用规范。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 18:15:41