konakona
Dream Afar.
konakona

解决 Solidity(wake) 升级 5.0.0rc1 后无法部署合约的问题

解决 Solidity(wake) 升级 5.0.0rc1 后无法部署合约的问题

前言

最近在学习 Web3 开发,一直在用 Solidity(wake) 这款 Vscode 插件,它的强大能够平替大名鼎鼎的 Remix – Ethereum IDE,非常好用!最近一直弹出升级 wake 的提示窗,没按耐住就升级了。当我升级到wake 5.0.0rc1后发现无法正常工作了。插件依旧能够 Compile 合约,但无法 Deploy 合约,Vscode 输出Solidity(wake) Error:

Failed to deploy: argument 'authorization_list': 'type' object cannot be converted to 'Sequence'

错误原因

结合 Grok 专家模式(Thinks hard)给出了可能的错误原因:

这个错误很可能源于Wake框架的最近更新(版本5.0的发布候选版),它引入了对EIP-7702的支持(一个Ethereum改进提案,用于交易中的委托代码执行)。这导致了合约交互和部署函数中新增了一个可选参数authorization_list

具体来说,这个TypeError表示代码中类型处理不当——可能是在默认值或类型注解中使用了一个类型对象(例如来自typing.List),而不是实际的序列实例(如空列表[]或None)。这在Python中常见,尤其当验证或转换逻辑(可能通过Pydantic模型或依赖如web3.py、eth-account)期望一个可迭代序列时,却收到了类型类,导致转换失败。

由于几天前插件还正常运行,应该就是Wake 依赖(如web3.py添加了Prague硬分叉支持,包括authorization_list格式化器)引入了这个不兼容性或bug。

接下来就重点讲一讲如何解决这个问题。

解决方式

当然是回滚到上一个stable版本啦!重新安装稳定版4.21.0

solidity(wake)默认使用 conda 进行环境管理,通过 Output 窗口找到插件工作的目录以及 conda 环境指令:

https://blog.img.crazyphper.com/2025/12/path-800x270.png

这里获得了我的插件目录,进入插件目录并执行激活 conda 环境的命令:

cd /Users/konakona/Library/Application\ Support/Code/User/ \
globalStorage/ackeeblockchain.tools-for-solidity/wake-conda/ \
bin/

export PYTHONNOUSERSITE=1
. "/Users/konakona/Library/Application Support/Code/User/ \
globalStorage/ackeeblockchain.tools-for-solidity/wake-conda/ \
bin/activate"

在这个环境里我们可以正常使用 bin 目录下所有的指令。

https://blog.img.crazyphper.com/2025/12/image-800x174.png
通过指令可以看到当前的 wake 版本是 5.0.0rc1

接下来卸载 eth-wake,安装 4.21.0 版本。

pip uninstall eth-wake
bin pip install eth-wake==4.21.0

//检查安装版本, 安装成功后应该打印4.21.0
./wake --version 

重新打开 Vscode就可以正常 Deploy 合约了!!!😊

赞赏
# # #
首页      程序开发      解决 Solidity(wake) 升级 5.0.0rc1 后无法部署合约的问题

团哥

文章作者

继续玩我的CODE,让别人说去。 低调,就是这么自信。

konakona

解决 Solidity(wake) 升级 5.0.0rc1 后无法部署合约的问题
最近一直弹出升级 wake 的提示窗,没按耐住就升级了。当我升级到wake 5.0.0rc1后发现无法正常工作了。
扫描二维码继续阅读
2025-12-15