布朗尼合同未被抓取 - “未知合同地址”
Brownie Contract not being grabbed - `Unknown contract address`
我跟随 brownie documentation,遇到了这个:
classbrownie.network.contract.Contract(address_or_alias, owner=None)
A deployed contract that is not part of a Brownie project.
address_or_alias: Address of the contract.
owner: An optional Account instance. If given, transactions to the contract are > sent broadcasted from this account by default.
>>> from brownie import Contract
>>> Contract("0x79447c97b6543F6eFBC91613C655977806CB18b0")
<Token Contract object '0x79447c97b6543F6eFBC91613C655977806CB18b0'>
但是,如果我采用相同的代码并将其放入名为 call.py
的脚本中,则会出现错误:
brownie run scripts/call.py --network mainnet
Brownie v1.16.4 - Python development framework for Ethereum
MultiCallProject is the active project.
File "brownie/_cli/run.py", line 49, in main
return_value, frame = run(
File "brownie/project/scripts.py", line 53, in run
module = _import_from_path(script)
File "brownie/project/scripts.py", line 149, in _import_from_path
_import_cache[import_str] = importlib.import_module(import_str)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen, line line, in in
File "<frozen, line line, in in
File "<frozen, line line, in in
File "<frozen, line line, in in
File "<frozen, line line, in in
File "<frozen, line line, in in
File "./scripts/multi-call.py", line 4, in <module>
addr_provider = Contract("0x79447c97b6543F6eFBC91613C655977806CB18b0")
File "brownie/network/contract.py", line 946, in __init__
raise ValueError(f"Unknown contract address: '{address}'")
ValueError: Unknown contract address: '0x79447c97b6543F6eFBC91613C655977806CB18b0'
您需要在主函数中包含它。
改变
contract = Contract("0x79447c97b6543F6eFBC91613C655977806CB18b0")
至
def main():
contract = Contract("0x0000000022D53366457F9d5E68Ec105046FC4383")
print("ko")
它会拉入合同。
我跟随 brownie documentation,遇到了这个:
classbrownie.network.contract.Contract(address_or_alias, owner=None) A deployed contract that is not part of a Brownie project.
address_or_alias: Address of the contract. owner: An optional Account instance. If given, transactions to the contract are > sent broadcasted from this account by default.
>>> from brownie import Contract
>>> Contract("0x79447c97b6543F6eFBC91613C655977806CB18b0")
<Token Contract object '0x79447c97b6543F6eFBC91613C655977806CB18b0'>
但是,如果我采用相同的代码并将其放入名为 call.py
的脚本中,则会出现错误:
brownie run scripts/call.py --network mainnet
Brownie v1.16.4 - Python development framework for Ethereum
MultiCallProject is the active project.
File "brownie/_cli/run.py", line 49, in main
return_value, frame = run(
File "brownie/project/scripts.py", line 53, in run
module = _import_from_path(script)
File "brownie/project/scripts.py", line 149, in _import_from_path
_import_cache[import_str] = importlib.import_module(import_str)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen, line line, in in
File "<frozen, line line, in in
File "<frozen, line line, in in
File "<frozen, line line, in in
File "<frozen, line line, in in
File "<frozen, line line, in in
File "./scripts/multi-call.py", line 4, in <module>
addr_provider = Contract("0x79447c97b6543F6eFBC91613C655977806CB18b0")
File "brownie/network/contract.py", line 946, in __init__
raise ValueError(f"Unknown contract address: '{address}'")
ValueError: Unknown contract address: '0x79447c97b6543F6eFBC91613C655977806CB18b0'
您需要在主函数中包含它。
改变
contract = Contract("0x79447c97b6543F6eFBC91613C655977806CB18b0")
至
def main():
contract = Contract("0x0000000022D53366457F9d5E68Ec105046FC4383")
print("ko")
它会拉入合同。