问题描述
我按照 https://substrate.dev/docs/en/tutorials/upgrade-a-chain/ 中的说明测试升级链运行时。当我提交 setCode 事务时,我收到以下错误...
无效交易会耗尽区块限制
我明白错误的含义。但是,我不明白为什么教程失败了。有没有其他人能够使本教程工作。对此的任何帮助将不胜感激。
解决方法
是的,就像它告诉你的那样transaction would exhaust the block limits
所以有两种方法可以实现这一点。
- 就像 2075 所说的使用
sudoUncheckedWeight
,这将绕过权重检查 - 使用 schedule 模块,这将在特定块高度安排运行时升级,然后执行它
- 民主(实际上这是隐含地调用时间表)
您是否尝试通过 UI 进行升级?如果您通过 Developer > Sudo 并选择 sudo - sudoUncheckedWeight
,然后选择 system - setCode
它应该可以工作。
另一条路线是通过 Developer > Extrinsics,选择您的 sudo 帐户,然后选择 sudo、uncheckedWeight 和 system、setCode。