使用Brownie部署合约至Ganache本地网络时遇URI错误求助
问题解决:Brownie连接Ganache本地网络报错及疑问解答
错误根源
你遇到的ValueError是因为添加网络时指定的host协议头是大写的HTTP://,而Brownie源码里的URI判断逻辑只识别小写的http/ws开头的地址,导致无法匹配到对应的HTTPProvider,从而抛出错误。
解决步骤
修正本地网络配置
重新执行添加网络的命令,将host的协议头改为小写的http://:brownie networks add Development ganache-local host=http://127.0.0.1:7545 cmd=ganache-cli如果之前已经添加过该网络,可以用修改命令更新配置:
brownie networks modify ganache-local host=http://127.0.0.1:7545确认Ganache服务状态
确保你的Ganache GUI或ganache-cli已经启动,并且监听端口与配置中的7545一致。重新执行部署命令
brownie run token.py --network ganache-local
关于第三方Provider的疑问
完全不需要为本地Ganache网络配置Alchemy这类第三方Provider。Ganache本身就是一个本地以太坊节点,它会在你的机器上模拟完整的区块链环境,直接提供HTTP/WebSocket接口供Brownie连接使用。使用第三方Provider反而违背了本地测试的初衷——本地网络无需依赖外部服务,测试速度更快,也不会消耗第三方平台的配额。
内容的提问来源于stack exchange,提问作者bounmath
相关产品推荐
相关产品推荐

