依赖elrond-wasm 0.19.1的Elrond智能合约构建成功后无法部署问题问询
elrond-wasm 0.19.1合约部署失败问题说明
这是elrond-wasm 0.19.1版本的已知兼容性问题。0.19.x版本的SDK编译产出的合约,适配的是更新版本的Elrond链上虚拟机协议,当前多数公开运行的主网、旧测试网的虚拟机版本还未完成对应升级,因此部署时会返回「合约代码无效」的错误。
你可以根据自己的使用场景选择对应解决方案:
- 若需要部署到当前稳定的主网/旧测试网,暂时回退到0.18.2版本是官方推荐的兼容方案,可直接复用ping-pong示例的依赖配置统一所有相关组件版本,减少代码修改量
- 若需要使用0.19.1版本的新特性,请部署到支持对应协议版本的最新开发测试网,部署前先确认目标链的节点版本和SDK的兼容性匹配规则
- 编译时可在Cargo.toml中强制锁定所有elrond-wasm相关依赖的版本,避免依赖自动升级到不兼容版本,参考配置如下:
[dependencies.elrond-wasm] version = "0.18.2" features = ["derive"] [dependencies.elrond-wasm-node] version = "0.18.2" optional = true [dev-dependencies.elrond-wasm-debug] version = "0.18.2"
内容的提问来源于stack exchange,提问作者Razvan M.
相关产品推荐
相关产品推荐

