2

我参与了 chainlink 训练营,并试图完成最后的“练习 3:将所有内容放在一起”。

但是,我被困在跑步中:

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

ContractNotFound: No contract deployed at 0xF4030086511a5bEEa4966F8cA5B36dbC97BeE88c

打印contract_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

我很难理解这个错误消息,这个命令不应该部署合同吗?即它们应该已经存在于 kovan 网络上?

欢迎任何见解!

4

2 回答 2

3

因为 ganache 的地址被重置(通过关闭并再次打开)并且布朗尼使用它自己的文件,这些文件已经消失删除文件和目录build/deployments为我解决。

于 2021-11-11T09:57:46.917 回答
2

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

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

价格馈送地址

于 2021-07-22T10:35:55.823 回答