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

MultiversX Dapp教程ping操作报Sender not allowed错误咨询

问题根因

你遇到的Sender not allowed报错和合约部署无关,报错关联的地址erd1qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq6gq4hu是MultiversX网络的系统零地址,出现这个地址作为交易发送方,核心原因是dApp的钱包连接逻辑未正常生效:前端没有正确获取到你已授权连接的钱包身份,发起交易时默认传入了空的发送方参数,被节点解析为零地址后直接拒绝交易。
你提到的教程内src/config.devnet.tsx被移除、替换为统一的src/config.tsx属于官方模板的正常版本迭代,这个改动不会影响核心功能流程,不需要额外调整适配。
你在不同系统环境下复现问题都存在,也能佐证问题不是环境依赖导致的,属于前端配置/逻辑层面的问题。

修复方案

按以下顺序逐一排查即可解决:

  • 检查src/config.tsx内的网络配置:确认配置的链ID、API接口地址和你部署合约、领取测试币的devnet网络完全匹配,不要混用主网/testnet的配置。
  • 检查钱包连接配置项:确认配置文件内的WalletConnect项目ID为你自己申请的有效ID,教程内附带的旧测试ID已过期失效,空值或失效ID会导致钱包连接流程静默失败——页面上看起来显示了连接成功的状态,实际上签名身份没有注入到交易实例中。
  • 检查ping交易的触发逻辑:调用合约ping方法时,必须从官方提供的useGetAccountInfo钩子中读取当前已登录的钱包地址作为交易发送方,不要硬编码地址,同时增加登录状态校验:未完成钱包授权、未拿到有效用户地址时,禁用ping按钮禁止触发交易。
  • 清除本地状态重试:打开浏览器开发者工具,清除当前dApp站点的LocalStorage、SessionStorage缓存,同时在你使用的钱包应用中删除当前dApp的连接授权,重新走一遍钱包连接流程后再测试,残留的过期连接缓存也会导致身份读取异常。
  • 最后核对合约地址:确认dApp中配置的ping合约地址,是你自己部署合约后链上返回的真实合约地址,不要直接使用教程文档里写的示例合约地址,第三方部署的合约通常会配置调用权限限制,也会触发权限类报错。

排查时可以先在交易发送前加一行控制台打印逻辑,输出当前获取到的发送方地址,如果打印出来的是上述零地址,就说明钱包身份注入环节仍然有问题,不需要重复部署合约浪费测试币。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 18:01:03