![](/img/trans.png)
[英]brownie AttributeError: 'NoneType' object has no attribute 'getEntranceFee'
[英]Brownie + ganache-cli on Mac, some error shows up: AttributeError: 'NoneType' object has no attribute 'poll'
它在我的服務器上運行良好,但在執行brownie run scripts/price_feed_scripts/01_deploy_price_consumer_v3.py -.network development
時使用本地 MacOS,它顯示:
Launching 'ganache-cli --accounts 10 --hardfork istanbul --gasLimit 12000000 --mnemonic brownie --port 8545'...
Terminating local RPC client...
File "brownie/_cli/__main__.py", line 64, in main
importlib.import_module(f"brownie._cli.{cmd}").main()
File "brownie/_cli/run.py", line 43, in main
network.connect(CONFIG.argv["network"])
File "brownie/network/main.py", line 50, in connect
rpc.launch(active["cmd"], **active["cmd_settings"])
File "brownie/network/rpc/__init__.py", line 97, in launch
raise RPCConnectionError(cmd, self.process, uri)
File "brownie/exceptions.py", line 41, in __init__
f"\n\nCommand: {cmd}\nURI: {uri}\nExit Code: {proc.poll()}"
AttributeError: 'NoneType' object has no attribute 'poll'
有同樣的問題,通常我連接到 VPN 並且一切正常。 今天我把它關掉了,忘了再打開它。 然后我遇到了這個問題。 經過一番調查,我想到了 VPN,然后我就去了,重新打開后,一切又正常了 (1.1.1.1)
問題可能出在您為創建“開發”網絡而運行的命令中。
brownie networks add development mainnet-fork cmd=ganache-cli host=https://eth-mainnet.alchemyapi.io/XXX accounts=10 mnemonic=brownie port=8545
這是使用錯誤的主機並且缺少分叉。 該命令應該是
brownie networks add development mainnet-fork cmd=ganache-cli host=http://127.0.0.1 fork=https://eth-mainnet.alchemyapi.io/XXX accounts=10 mnemonic=brownie port=8545
即使使用@Harish Vishwakarma 所說的正確定義,我也有相同的錯誤輸出。 我還安裝了 ganache-cli:
brownie networks add development mainnet-fork cmd=ganache-cli host=http://127.0.0.1 fork=https://eth-mainnet.alchemyapi.io/XXX accounts=10 mnemonic=brownie port=8545
這是實際執行的命令:
❯ brownie run scripts/deploy.py --network mainnet-fork-dev
Brownie v1.14.6 - Python development framework for Ethereum
BrownieFundMeProject is the active project.
Launching 'ganache-cli --accounts 10 --fork https://eth-mainnet.alchemyapi.io/v2/xxxxx --mnemonic brownie --port 8545 --hardfork istanbul'...
Terminating local RPC client...
File "brownie/_cli/__main__.py", line 64, in main
importlib.import_module(f"brownie._cli.{cmd}").main()
File "brownie/_cli/run.py", line 43, in main
network.connect(CONFIG.argv["network"])
File "brownie/network/main.py", line 50, in connect
rpc.launch(active["cmd"], **active["cmd_settings"])
File "brownie/network/rpc/__init__.py", line 97, in launch
raise RPCConnectionError(cmd, self.process, uri)
File "brownie/exceptions.py", line 41, in __init__
f"\n\nCommand: {cmd}\nURI: {uri}\nExit Code: {proc.poll()}"
AttributeError: 'NoneType' object has no attribute 'poll'
該命令可能無法自行啟動 ganache 實例。 您可以嘗試在不同的終端上手動啟動一個,然后運行該命令,以便它附加到已經運行的實例
對於遇到此問題的其他任何人,請確保您沒有使用https
指定本地主機,而是使用http
。 我花了很長時間才看到那個小錯字!
我通過添加host=http://127.0.0.1
解決了同樣的問題確保它是http
而不是HTTP
你的命令應該是這樣的:
`brownie networks add development mainnet-fork-dev cmd=ganache-cli host=http://127.0.0.1 fork=https://eth-mainnet.alchemyapi.io/v2/DFwObAmnPwS21NdNsSLFkpV4C5YEkthH accounts=10 mnemonic=brownie port=9999`
我通過刪除像“export http_proxy=http://127.0.0.1:1087”這樣的終端代理配置解決了這個問題,這些配置將代理您的終端 http 請求。 不要忘記重啟你的macOS
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.