- node1= running on port 8545 => current synced block is 2000, and
- node2= running on port 3545 => current synced block is latest
When i am using web3 into another page and print web3 object it returns connection for node1, According to my web3.js file it should return connection for node2 because in my node1 has only 2000 block synced
I also used timeInterval() but it didn't worked
-------------------------------web3.js------------------------
var node1='http://localhost:8545'
var node2='http://localhost:3545'
var Web3 = require('web3');
var web3 = new Web3(new Web3.providers.HttpProvider((node1));
if(!web3.isConnected()) {
web3 = new Web3(new Web3.providers.HttpProvider((node2));
}
else {
web3.eth.getBlockNumber(function(er,blck){
if(blck>7300000){
console.log('==> ETH connection to node1);
}else{
web3=undefined
web3 = new Web3(new Web3.providers.HttpProvider((node2));
console.log('==> ETH connection to node2);
}
});
}
web3.eth.getBlockNumber(function(er,block){
console.log(block,web3)
// here code works fine, web3 object is for node2
})
module.exports = web3;
--------------------------------------------------
.
----------------------demo.js---------------------
var web3 = require(./web3);
web3.eth.getBlockNumber(function(er,block){
console.log(block,web3)
// here code did not work, web3 object is for node1
})
-----------------------------------------------------