ContractNotFound:未在部署任何合同



我参加了chainlink训练营,并试图完成最后的"练习3:把所有东西放在一起"。

然而,我被困在运行:

brownie run scripts/price_exercise_scripts/01_deploy_price_exercise.py --network kovan

ContractNotFound: No contract deployed at 0xF4030086511a5bEEa4966F8cA5B36dbC97BeE88c

Printedcontract_type._name是从`MockV3Aggregator返回的模拟地址,这也没有意义,这就是代码调用此逻辑的原因。

def get_contract(contract_name):
contract_type = contract_to_mock[contract_name]
if network.show_active() in NON_FORKED_LOCAL_BLOCKCHAIN_ENVIRONMENTS:
if len(contract_type) <= 0:
deploy_mocks()
contract = contract_type[-1]
else:
try:
contract_address = config["networks"][network.show_active()][contract_name]
contract = Contract.from_abi(
contract_type._name, contract_address, contract_type.abi
)
except KeyError:
print(
f"{network.show_active()} address not found, perhaps you should add it to 
the config or deploy mocks?")
print(
f"brownie run scripts/deploy_mocks.py --network {network.show_active()}"
)
return contract

我很难理解这个错误消息,这个命令不应该部署合同吗?他们应该已经存在于科万网络中了吗?

欢迎任何见解!

因为ganache的地址被重置(通过关闭并再次打开(,而brownie使用了它自己的文件删除build/deployments中的文件和目录为我解决。

问题-我使用的是以太坊主网地址,而不是btc/usd价格的正确科万网络地址。

在config.yml中将btc_usd_price_feed值更改为0x6135b13325bfC4B00278B4abC5e20bbce2D6580e为我解决了这个问题。

价格馈送地址

删除.openzeppelin/nunknown-YOUR-NetworkId.json!!!

这种情况尤其发生在将可升级合同部署到Parachain EVM时。

相关内容

  • 没有找到相关文章

最新更新