ContractNotFound:没有部署合约
ContractNotFound: No contract deployed at
我参与了 chainlink 训练营并努力完成决赛 'Exercise 3: Putting it all together'。
然而,我卡住了运行:
brownie run scripts/price_exercise_scripts/01_deploy_price_exercise.py --network kovan
ContractNotFound: No contract deployed at 0xF4030086511a5bEEa4966F8cA5B36dbC97BeE88c
Printed 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 网络上?
欢迎任何见解!
问题 - 我使用的是以太坊主网地址,而不是 btc/usd 价格的正确 kovan 网络地址。
在 config.yml 中将 btc_usd_price_feed
值更改为 0x6135b13325bfC4B00278B4abC5e20bbce2D6580e
为我解决了这个问题。
因为 ganache 的地址被重置(通过关闭并再次打开)并且布朗尼使用它自己的文件已经消失了
删除build/deployments
中的文件和目录,帮我解决。
我参与了 chainlink 训练营并努力完成决赛 'Exercise 3: Putting it all together'。
然而,我卡住了运行:
brownie run scripts/price_exercise_scripts/01_deploy_price_exercise.py --network kovan
ContractNotFound: No contract deployed at 0xF4030086511a5bEEa4966F8cA5B36dbC97BeE88c
Printed 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 网络上?
欢迎任何见解!
问题 - 我使用的是以太坊主网地址,而不是 btc/usd 价格的正确 kovan 网络地址。
在 config.yml 中将 btc_usd_price_feed
值更改为 0x6135b13325bfC4B00278B4abC5e20bbce2D6580e
为我解决了这个问题。
因为 ganache 的地址被重置(通过关闭并再次打开)并且布朗尼使用它自己的文件已经消失了
删除build/deployments
中的文件和目录,帮我解决。