Ethereum 以太坊web3-运行web3 httpprovider的多个实例
我的问题是如何运行httpprovider的两个实例?我尝试了下面的代码,但这不起作用,因为只有第一个httpProvider被实例化Ethereum 以太坊web3-运行web3 httpprovider的多个实例,ethereum,Ethereum,我的问题是如何运行httpprovider的两个实例?我尝试了下面的代码,但这不起作用,因为只有第一个httpProvider被实例化 web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:9998"), new Web3.providers.HttpProvider("http://localhost:9999")); 我不知道你为什么想要两个HttpProvider实例。但我认为一个解决方案可能不是实例化两个提供
web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:9998"), new Web3.providers.HttpProvider("http://localhost:9999"));
我不知道你为什么想要两个HttpProvider实例。但我认为一个解决方案可能不是实例化两个提供者,而是实例化两个web3对象,例如:
let Web3 = require('web3');
let web3 = {};
let web3.a = new Web3(new Web3.providers.HttpProvider("http://localhost:9998");
let web3.b = new Web3(new Web3.providers.HttpProvider("http://localhost:9999");
无论您需要什么,您都可以使用提供商.a
或.b
:
window.console.log(web3.a.version.node);
window.console.log(web3.b.version.node);
或检查哪一个已连接:
if(web3.a.isConnected()) {
/* work with node a */
else if(web3.b.isConnected()) {
/* work with node b */
} else {
/* remind yourself to start a node */
}
上面的代码未经测试,但您可能会明白。我不确定您为什么需要两个HttpProvider实例。但我认为一个解决方案可能不是实例化两个提供者,而是实例化两个web3对象,例如:
let Web3 = require('web3');
let web3 = {};
let web3.a = new Web3(new Web3.providers.HttpProvider("http://localhost:9998");
let web3.b = new Web3(new Web3.providers.HttpProvider("http://localhost:9999");
无论您需要什么,您都可以使用提供商.a
或.b
:
window.console.log(web3.a.version.node);
window.console.log(web3.b.version.node);
或检查哪一个已连接:
if(web3.a.isConnected()) {
/* work with node a */
else if(web3.b.isConnected()) {
/* work with node b */
} else {
/* remind yourself to start a node */
}
上面的代码未经测试,但您可能会明白这一点