我已经和齐柏林飞艇的合同建立了一段时间,没有问题。我刚刚使用v4.4.0启动了一个新项目,当我尝试发布我的合同publish_source =True时,我得到了以下错误:
KeyError: 'OpenZeppelin/openzeppelin-contracts@4.4.0/Address'我用的是Brownie v1.16。我看到了另一个用户的帖子,他们通过升级到Browniev1.17来解决类似的问题。不过,我在做这件事上甚至有问题。例如,如果我试图更新Brownie,它会说我有最新版本- 1.16。因此,我尝试将更新强制为1.17,并得到以下错误:
ERROR: Could not find a version that satisfies the requirement vyper==0.3.1 (from eth-brownie)...So然后我尝试安装Vyper0.3.1,这又出现了另一个错误: error: vyper==0.3.1没有找到匹配的发行版
我不知道从哪里出发,我希望我能通过升级到Brownie1.17来解决我原来的问题,但是我甚至无法做到这一点。
谢谢你提前提供帮助。
发布于 2021-12-14 07:57:50
我的问题似乎来自安装了Python3.10。在我降级Python之后,我终于能够安装Vyperv0.3.1。从那里起,Brownie 1.17.2就安装了,没有问题。最后,为了能够部署与Brownie1.17.2的合同,我在我的brownie-config.yaml文件中丢失了一些数据,而1.16.0似乎并不介意没有这些数据。我按照brownie添加了缺失的数据,这最终让我可以在Etherscan上部署和验证我的合同。
发布于 2022-05-13 02:59:56
在发布我的NFT合同时,我也遇到了类似的问题:我使用的是Browniev1.16.4,最近我转到了OpenZeppelin contracts@4.6.0发布/验证,当使用4.6.x版本的OpenZeppelin契约(特别是某些contracts对象,例如token/ERC721URIStorage)时,它停止了对Brownie1.16.x的使用。
这是我所做的,一步一步地:
祝你好运:)
https://ethereum.stackexchange.com/questions/115371
复制相似问题