2016-10-29 3 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 인스턴스가 필요한지 잘 모르겠습니다.

window.console.log(web3.a.version.node); 
window.console.log(web3.b.version.node); 
: 당신이 당신의 제공 .a 또는 .b을 사용하거나, 당신이 필요로하는 어떤

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"); 

그리고 대한을 :하지만이 솔루션은 그렇게, 예를 들어 두 업체 만이 web3 개체를 인스턴스화하지 않도록 할 수 있다고 생각

또는 연결되는 하나의 확인 :

if(web3.a.isConnected()) { 
    /* work with node a */ 
else if(web3.b.isConnected()) { 
    /* work with node b */ 
} else { 
    /* remind yourself to start a node */ 
} 

위의 코드는 테스트되지 않은,하지만 당신은 아이디어를 얻을 수 있습니다.