Brownie.exceptions.RPCRequestError:Web3 未连接

Nag*_*ech 2 brownie

我正在尝试使用布朗尼部署 helloWorld.sol。当我尝试运行Brownie run scripts/deploy.py时,出现以下错误。

正在终止本地 RPC 客户端...线程 Thread-5 中出现异常:回溯(最近一次调用最后一次):文件“C:\Users\mmasn.local\pipx\venvs\eth-brownie\lib\site-packages\urllib3\connection .py”,第 175 行,在 _new_conn (self._dns_host, self.port),self.timeout,**extra_kw 文件“C:\Users\mmasn.local\pipx\venvs\eth-brownie\lib\site-packages \urllib3\util\connection.py”,第 96 行,在 create_connection 中
引发错误文件“C:\Users\mmasn.local\pipx\venvs\eth-brownie\lib\site-packages\urllib3\util\connection.py” ,第 86 行,在 create_connection
sock.connect(sa) ConnectionRefusedError: [WinError 10061] 无法建立连接,因为目标计算机主动拒绝它

在处理上述异常的过程中,又出现了一个异常:

回溯(最近一次调用最后一次):文件“C:\Users\mmasn.local\pipx\venvs\eth-brownie\lib\site-packages\urllib3\connectionpool.py”,第 706 行,在 urlopen chunked=chunked,文件中“C:\Users\mmasn.local\pipx\venvs\eth-brownie\lib\site-packages\urllib3\connectionpool.py”,第 394 行,在 _make_request conn.request(method, url, **httplib_request_kw) 文件中“ C:\Users\mmasn.local\pipx\venvs\eth-brownie\lib\site-packages\urllib3\connection.py",第 239 行,请求 super(HTTPConnection, self).request(method, url, body= body,headers=headers)文件“C:\ Program Files \ Python37 \ lib \ http \ client.py”,第1229行,请求self._send_request(方法,url,body,headers,encode_chunked)文件“C:\ Program文件\Python37\lib\http\client.py”,第1275行,在_send_request self.endheaders(body,encode_chunked=encode_chunked)文件“C:\Program Files\Python37\lib\http\client.py”,第1224行,在 endheaders self._send_output(message_body,encode_chunked=encode_chunked) 文件“C:\Program Files\Python37\lib\http\client.py”,第 1016 行,在 _send_output self.send(msg) 文件“C:\Program Files\ Python37\lib\http\client.py”,第 956 行,发送 self.connect() 文件“C:\Users\mmasn.local\pipx\venvs\eth-brownie\lib\site-packages\urllib3\connection。 py”,第 205 行,连接 conn = self._new_conn() 文件“C:\Users\mmasn.local\pipx\venvs\eth-brownie\lib\site-packages\urllib3\connection.py”,第 187 行,在 _new_conn self 中,“无法建立新连接:%s” % e urllib3.exceptions.NewConnectionError:<urllib3.connection.HTTPConnection 对象位于 0x0000021DAA2A0F28>:无法建立新连接:[WinError 10061] 无法建立连接因为目标机主动拒绝了

在处理上述异常的过程中,又出现了一个异常:

回溯(最近一次调用最后一次):文件“C:\Users\mmasn.local\pipx\venvs\eth-brownie\lib\site-packages\requests\adapters.py”,第 449 行,在发送超时=超时文件中“ C:\Users\mmasn.local\pipx\venvs\eth-brownie\lib\site-packages\urllib3\connectionpool.py",第756行,在urlopen方法中,url,error=e,_pool=self,_stacktrace=sys .exc_info()[2] 文件“C:\Users\mmasn.local\pipx\venvs\eth-brownie\lib\site-packages\urllib3\util\retry.py”,第 574 行,增量引发 MaxRetryError(_pool 、url、错误或 ResponseError(原因)) urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='127.0.0.1', port=8545): url 超过最大重试次数: / (由 NewConnectionError('<urllib3.connection.HTTPConnection 引起)对象位于 0x0000021DAA2A0F28>:无法建立新连接:[WinError 10061] 无法建立连接,因为目标计算机主动拒绝它'))

在处理上述异常的过程中,又出现了一个异常:

回溯(最近一次调用最后一次):文件“C:\Users\mmasn.local\pipx\venvs\eth-brownie\lib\site-packages\brownie\network\rpc\ganache.py”,第 82 行,在 _request 响应中= web3.provider.make_request(method, args) # 类型:忽略 File "C:\Users\mmasn.local\pipx\venvs\eth-brownie\lib\site-packages\web3\providers\rpc.py", line 91、在 make_request **self.get_request_kwargs() 文件“C:\Users\mmasn.local\pipx\venvs\eth-brownie\lib\site-packages\web3_utils\request.py”中,第 48 行,在 make_post_request 响应 = session.post(endpoint_uri, data=data, *args, **kwargs) # 类型:忽略文件 "C:\Users\mmasn.local\pipx\venvs\eth-brownie\lib\site-packages\requests\sessions. py”,第 590 行,在后返回 self.request('POST', url, data=data, json=json, **kwargs) 文件“C:\Users\mmasn.local\pipx\venvs\eth-brownie\ lib\site-packages\requests\sessions.py”,第 542 行,请求 resp = self.send(prep, **send_kwargs) 文件“C:\Users\mmasn.local\pipx\venvs\eth-brownie\lib \site-packages\requests\sessions.py”,第 655 行,发送 r = adapter.send(request, **kwargs) 文件“C:\Users\mmasn.local\pipx\venvs\eth-brownie\lib\ site-packages\requests\adapters.py",第 516 行,在发送中引发 ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPConnectionPool(host='127.0.0.1', port=8545): 超出最大重试次数url: / (由 NewConnectionError('<urllib3.connection.HTTPConnection object at 0x0000021DAA2A0F28>: 无法建立新连接: [WinError 10061] 无法建立连接,因为目标计算机主动拒绝它'))

在处理上述异常的过程中,又出现了一个异常:

回溯(最近一次调用最后):文件“C:\ Program Files \ Python37 \ lib \ threading.py”,第917行,在_bootstrap_inner self.run()文件“C:\ Program Files \ Python37 \ lib \ threading.py”中”,第 865 行,运行 self._target(*self._args, **self._kwargs) 文件“C:\Users\mmasn.local\pipx\venvs\eth-brownie\lib\site-packages\brownie\network \state.py”,第 332 行,在add_to_undo_buffer
self.sleep(0) 文件“C:\Users\mmasn.local\pipx\venvs\eth-brownie\lib\site-packages\brownie\network\state.py” ,第 375 行,睡眠中的自我。time_offset = int(rpc.Rpc().sleep(秒)) 文件 "C:\Users\mmasn.local\pipx\venvs\eth-brownie\lib\site-packages\brownie\network\rpc_ init .py",第 45 行,包装后的 return fn(*args, **kwargs) File "C:\Users\mmasn.local\pipx\venvs\eth-brownie\lib\site-packages\brownie\network\rpc_ init .py
",第166行,在睡眠状态下返回self.backend.sleep(秒)文件“C:\Users\mmasn.local\pipx\venvs\eth-brownie\lib\site-packages\brownie\network\rpc\ganache.py”,第 91 行,睡眠中 return _request("evm_increaseTime", [秒]) File "C:\Users\mmasn.local\pipx\venvs\eth-brownie\lib\site-packages\brownie\network\rpc\ganache.py ",第 86 行,在 _request 中引发 RPCRequestError("Web3 未连接。") Brownie.exceptions.RPCRequestError: Web3 未连接。

我的deploy.py代码如下。

from brownie import accounts, HelloWorld


def deployHelloWorld():
    account = accounts[0]
    helloWorldObject = HelloWorld.deploy({"from": account})
    helloWorldObject.setName("Michael", {"from": account})
    greeting = helloWorldObject.sayHello()
    print(greeting)


def main():
    deployHelloWorld()
Run Code Online (Sandbox Code Playgroud)

能否请你帮忙?

Nag*_*ech 6

这个错误是因为交易后没有等待而导致的。通过使用transaction.wait(1),如下所示,问题得到解决。

transaction = helloWorldObject.setName("Michael", {"from": account})
    transaction.wait(1)
    greeting = helloWorldObject.sayHello()
    print(greeting)
Run Code Online (Sandbox Code Playgroud)