Zenroom 2.2.0在React17中运行合约报Zencode pattern not found错误
报错原因
- 语法版本不匹配:你当前使用的
zenroom@2.2.0版本的credential场景未内置When I create the credential key语法规则,该语法属于Zenroom v1.x分支或v3.0及以上版本的规则,因此执行时触发模式匹配失败。 - 运行环境版本差异:apiroom平台默认运行的Zenroom版本和你React项目中安装的v2.2.0版本不一致,因此相同合约在apiroom可正常执行,本地项目报错。
解决方案
- 调整Zencode适配v2.2.0版本:将你的合约代码替换为适配2.2.0版本的写法即可正常运行,示例代码如下:
Scenario credential: credential keygen Given my name is in a 'string' named 'userId' When I create the credential key pair Then print my 'keyring'
- 升级Zenroom版本:如果要保留原合约代码,可直接将项目中的Zenroom版本升级到v3.0.0及以上稳定版,执行安装命令:
npm install zenroom@^3.0.0 --save - 检查初始化配置:确认你在React中调用Zenroom时,未手动配置
disable_standard_scenarios参数关闭内置场景加载,确保credential场景被正常引入。
内容的提问来源于stack exchange,提问作者jhonny
相关产品推荐
相关产品推荐

