Erc-20

在 rinkeby 測試網上執行 erc20 brownie 項目時出現屬性錯誤

  • January 22, 2022

PS E:\ERC20-BROWNIE> brownie run scripts/1_deploy_token.py –network rinkeby 資訊:找不到給定模式的文件。Brownie v1.16.4 - 乙太坊的 Python 開發框架

Erc20BrownieProject 是活動項目。

文件“C:\Users\scs\AppData\Local\Programs\Python\Python310\lib\site-packages\brownie_cli\run.py”,第 49 行,主要返回值,frame = run(文件“C:\Users\ scs\AppData\Local\Programs\Python\Python310\lib\site-packages\brownie\project\scripts.py",第 103 行,執行中 return_value = f_locals

$$ method_name $$(args, kwargs) 文件“.\scripts\1_deploy_token.py”,第 12 行,在 main my_token = MyToken.deploy(initial_supply, {“from”: account}) 文件“C:\Users\scs\AppData \Local\Programs\Python\Python310\lib\site-packages\brownie\network\contract.py",第 595 行,在呼叫* raise AttributeError( AttributeError: Final 參數必須是包含from指定地址的欄位的交易參數的字典從

PS E:\ERC20-BROWNIE> brownie run scripts/1_deploy_token.py –network rinkeby INFO 部署:找不到給定模式的文件。Brownie v1.16.4 - 乙太坊的 Python 開發框架 Erc20BrownieProject 是活動項目。

文件“C:\Users\scs\AppData\Local\Programs\Python\Python310\lib\site-packages\brownie_cli\run.py”,第 49 行,主要返回值,frame = run(文件“C:\Users\ scs\AppData\Local\Programs\Python\Python310\lib\site-packages\brownie\project\scripts.py",第 103 行,執行中 return_value = f_locals

$$ method_name $$(args, kwargs) 文件“.\scripts\1_deploy_token.py”,第 12 行,在 main my_token = MyToken.deploy(initial_supply, {“from”: account}) 文件“C:\Users\scs\AppData \Local\Programs\Python\Python310\lib\site-packages\brownie\network\contract.py",第 595 行,在呼叫* raise AttributeError( AttributeError: Final 參數必須是包含from指定地址的欄位的交易參數的字典從

PS E:\ERC20-BROWNIE> brownie run scripts/1_deploy_token.py –network rinkeby INFO 部署:找不到給定模式的文件。Brownie v1.16.4 - 乙太坊的 Python 開發框架 Erc20BrownieProject 是活動項目。

執行 ‘scripts\1_deploy_token.py::main’… 文件“C:\Users\scs\AppData\Local\Programs\Python\Python310\lib\site-packages\brownie_cli\run.py”,第 49 行,在main return_value, frame = run( File “C:\Users\scs\AppData\Local\Programs\Python\Python310\lib\site-packages\brownie\project\scripts.py”,第 103 行,執行中 return_value = f_locals

$$ method_name $$(args, kwargs) 文件“.\scripts\1_deploy_token.py”,第 12 行,在 main my_token = MyToken.deploy(initial_supply, {“from”: account}) 文件“C:\Users\scs\AppData \Local\Programs\Python\Python310\lib\site-packages\brownie\network\contract.py",第 595 行,在呼叫* raise AttributeError( AttributeError: Final 參數必須是包含from指定地址的欄位的交易參數的字典從

PS E:\ERC20-BROWNIE>部署

如果您像這樣修改 get_account() 函式,那麼它可以工作。

在此處輸入圖像描述

這是另一種解決方案:您可以保留 get_account() 原樣。您可以在 yaml 文件中添加 rinkeby 網路,而不是像 Ganesh 的解決方案那樣註釋掉這兩行。

這是因為if network.show_active() in config["networks"]:在您的 brownie-config.yaml 文件中尋找“網路”。

如果您在那裡添加帶有某些屬性的 rinkeby 網路,它將起作用。

例如,

networks:
 rinkeby:
   verify: True

我的布朗尼-config.yaml:

dependencies:
 - OpenZeppelin/openzeppelin-contracts@4.2.0
compiler:
 solc:
   remappings:
     - "@openzeppelin=OpenZeppelin/openzeppelin-contracts@4.2.0"
dotenv: .env
networks:
 rinkeby:
   verify: True
wallets:
 from_key: ${PRIVATE_KEY}

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