2016-10-29 6 views
1

Вопрос в том, как вы можете запускать два экземпляра httpprovider? Я пробовал код ниже, но это не работает, поскольку создается только первый httpProvider.Ethereum web3 - Запуск нескольких экземпляров web3 httpprovider

web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:9998"), new Web3.providers.HttpProvider("http://localhost:9999")); 

ответ

0

Я не уверен, почему вы хотите два экземпляра 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 */ 
} 

код выше не тестировался, но вы можете получить идею.