为了捕捉这个错误并向用户显示一条自定义消息,我无法进行任何工作,我尝试使用web3js和laravel https://github.com/IlyasDeckers/web3php。
当我试着用这个
$eth = new \IlyasDeckers\Web3PHP\Ethereum(env('WEB3_URL'), env('WEB3_PORT'));
try {
$eth = $eth->eth_getBalance('0x8fbb99e9e73cd62bb3adea5365ff0f9d90c9e532', $block='latest', $decode_hex=false);
}
catch(ConnectException $e) {
echo 'Message: ' .$e->getMessage();
exit;
}我得到了一个不能被发现的错误,有人能帮上忙吗?
GuzzleHttp \ Exception \ ConnectException cURL错误7:未能连接到127.0.0.1端口8545:连接被拒绝(参见http://curl.haxx.se/libcurl/c/libcurl-errors.html)

发布于 2019-08-09 13:12:54
对我来说,这听起来很像是你没有运行Ethereum节点。它正试图连接到端口8545的本地主机。
如果正在运行节点,请检查端口!
如果没有运行节点,那么要么设置一个节点,要么找到一个允许您连接的节点(tbh的可能性要小得多)。
更新
我注意到您正在捕获一个ConnectException,完全限定的类名为GuzzleHttp\Exception\ConnectException。
如果没有使用use语句导入类名,则需要将代码更改为:
catch (\GuzzleHttp\Exception\ConnectException) {(注意前面的反斜杠)。然而,这并不是推荐的方法。最好在脚本顶部导入所有类:
use GuzzleHttp\Exception\ConnectException;这样,您就可以立即看到脚本中使用的所有类,并且可以在整个代码中将类引用为ConnectException。
https://stackoverflow.com/questions/57430654
复制相似问题