Solidity

布朗尼部署 – KeyError: ‘OpenZeppelin/openzeppelin-contracts@4.4.0/Address’

  • December 14, 2021

一段時間以來,我一直在使用 Zeppelin 契約的 v3.4 進行建構,沒有出現任何問題。我剛剛使用 v4.4.0 開始了一個新項目,當我嘗試發布契約時出現以下錯誤publish_source = True

KeyError: 'OpenZeppelin/openzeppelin-contracts@4.4.0/Address'

我正在使用布朗尼 v1.16。我看到另一個使用者發布他們通過升級到 Brownie v1.17 解決了類似的問題。但是,我什至在這樣做時遇到了問題。例如,如果我嘗試更新 Brownie,它會說我擁有最新版本 - 1.16。因此,我嘗試強制更新到 1.17,但出現以下錯誤:

ERROR: Could not find a version that satisfies the requirement vyper==0.3.1 (from eth-brownie)

…然後我嘗試安裝 vyper 0.3.1,這會出現另一個錯誤:錯誤:沒有為 vyper==0.3.1 找到匹配的分佈

我不知道從哪裡開始,我希望我可以通過升級到 Brownie 1.17 來解決我原來的問題,但是我什至無法做到這一點。

感謝您提前提供任何幫助。

我的問題似乎來自安裝了 Python 3.10。在我降級 Python 後,我終於能夠安裝 Vyper v0.3.1。從那裡,Brownie 1.17.2 安裝沒有問題。最後,為了能夠與 Brownie 1.17.2 部署合約,我在brownie-config.yaml文件中失去了一些 1.16.0 似乎並不介意沒有的數據。我根據 brownie 文件添加了缺失的數據,這最終讓我可以在 Etherscan 上部署和驗證我的合約。

引用自:https://ethereum.stackexchange.com/questions/115371