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

Polkadot.js上传智能合约失败:始终停留在contracts.instantiateWithCode: ready

解决Polkadot.js部署智能合约时的循环JSON结构错误

可能的原因及修复步骤

  • 检查合约元数据(metadata)
    循环JSON结构错误通常源于合约元数据包含循环引用,Substrate Contract UI可能对此做了兼容处理,但Polkadot.js对这类情况更敏感。重新生成合约元数据,确保使用最新版cargo-contract编译:

    cargo contract build --release
    

    替换旧的元数据文件后重新尝试上传。

  • 清除Polkadot.js浏览器缓存
    浏览器缓存的旧数据可能引发冲突,按Ctrl+Shift+Delete(Chrome)或Cmd+Shift+Delete(Safari/Firefox)清除缓存,重点清理“网站数据”和“缓存文件”,重启浏览器后再试。

  • 切换Polkadot.js版本或浏览器
    版本兼容性问题可能触发这类错误,尝试使用Polkadot.js的稳定版或更新至最新版本;若使用网页版,换用不同浏览器测试(如Chrome切换到Firefox)。

  • 校验构造函数参数格式
    确认合约构造函数的参数格式符合Polkadot.js要求,避免传入包含循环引用的数组、对象类型参数,检查参数是否存在格式错误。

  • 重置本地节点环境
    如果是本地节点部署,先停止节点,清除链数据后重启:

    # 停止节点后执行
    ./target/release/node-template purge-chain --dev
    

    重新启动节点后再尝试部署合约。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 22:41:56