当我使用node运行下面的代码时,它可以连接到外部服务器。但是当我在firebase上部署这个代码时,它失败了。
const Web3 = require('web3');
var web3 = new Web3(new Web3.providers.HttpProvider("http://<my-server-ip>:8545"));
const functions = require('firebase-functions');
const express = require('express');
if(web3.isConnected()) {
console.log("Success")
} else {
console.log("Failure")
}
const app = express();
exports.app = functions.https.onRequest(app);
我验证了以下问题来解决此问题:
"web3": "^0.18.4"
答案 0 :(得分:0)
如果Firebase中有更多日志,那么将它们附加到原始问题也会很有帮助。出于这个答案的目的,我假设它只是将Failure
打印到控制台。
要进行问题排查,请执行以下操作:
在<my-server-ip>
检查以太坊节点的日志,看看是否存在其他错误,或者Firebase IP是否有连接尝试。
如果您在以太坊节点日志中看不到任何连接尝试,那么即使您提到它可以访问,我建议您仔细检查其防火墙/网络设置,以确保它允许连接来自Firebase。