resolved ws shifting connections
This commit is contained in:
parent
89e56e8b0d
commit
f0eb1cbfe1
@ -10081,43 +10081,11 @@
|
|||||||
03F7493F11B8E44B9798CD434D20FBE7FA34B9779D144984889D11A17C56A18742,039B4AA00DBFC0A6631DE6DA83526611A0E6B857D3579DF840BBDEAE8B6898E3B6,
|
03F7493F11B8E44B9798CD434D20FBE7FA34B9779D144984889D11A17C56A18742,039B4AA00DBFC0A6631DE6DA83526611A0E6B857D3579DF840BBDEAE8B6898E3B6,
|
||||||
03C8E3836C9A77E2AF03D4265D034BA85732738919708EAF6A16382195AE796EDF,0349B08AA1ABDCFFB6D78CD7C949665AD2FF065EA02B3C6C47A5E9592C9A1C6BCB
|
03C8E3836C9A77E2AF03D4265D034BA85732738919708EAF6A16382195AE796EDF,0349B08AA1ABDCFFB6D78CD7C949665AD2FF065EA02B3C6C47A5E9592C9A1C6BCB
|
||||||
#!#externalFiles={"d3js":"58f54395efa8346e8e94d12609770f66b916897e7f4e05f6c98780cffa5c70a3"},
|
#!#externalFiles={"d3js":"58f54395efa8346e8e94d12609770f66b916897e7f4e05f6c98780cffa5c70a3"},
|
||||||
#!#ShamirsMaxShares=8#!#supernodeSeeds={"ranchimall1":{"ip":"127.0.0.1","port":"9001","kbucketId":"oZxHcbSf1JC8t5GjutopWYXs7C6Fe9p7ps"},
|
#!#ShamirsMaxShares=8#!#supernodeSeeds={"ranchimall1":{"ip":"127.0.0.1","port":"9111","kbucketId":"oZxHcbSf1JC8t5GjutopWYXs7C6Fe9p7ps"},
|
||||||
"ranchimall2":{"ip":"127.0.0.1","port":"9002","kbucketId":"oTWjPupy3Z7uMdPcu5uXd521HBkcsLuSuM"},
|
"ranchimall2":{"ip":"127.0.0.1","port":"9112","kbucketId":"oTWjPupy3Z7uMdPcu5uXd521HBkcsLuSuM"},
|
||||||
"ranchimall3":{"ip":"127.0.0.1","port":"9003","kbucketId":"odYA6KagmbokSh9GY7yAfeTUZRtZLwecY1"},
|
"ranchimall3":{"ip":"127.0.0.1","port":"9113","kbucketId":"odYA6KagmbokSh9GY7yAfeTUZRtZLwecY1"},
|
||||||
"ranchimall4":{"ip":"127.0.0.1","port":"9004","kbucketId":"oJosrve9dBv2Hj2bfncxv2oEpTysg3Wejv"},
|
"ranchimall4":{"ip":"127.0.0.1","port":"9114","kbucketId":"oJosrve9dBv2Hj2bfncxv2oEpTysg3Wejv"},
|
||||||
"ranchimall5":{"ip":"127.0.0.1","port":"9005","kbucketId":"oMhv5sAzqg77sYHxmUGZWKRrVo4P4JQduS"}}`;
|
"ranchimall5":{"ip":"127.0.0.1","port":"9115","kbucketId":"oMhv5sAzqg77sYHxmUGZWKRrVo4P4JQduS"}}`;
|
||||||
|
|
||||||
// RMAssets =
|
|
||||||
// `masterFLOPubKey=029EF7838D4D103E62262394B5417E8ABFD75539D19E61CA5FD0C2051B69B29910
|
|
||||||
// #!#tradableAsset1=BTC,FLO,BTC_TEST,FLO_TEST#!#tradableAsset2=INR,USD,BTC,FLO,BTC_TEST,FLO_TEST,
|
|
||||||
// #!#validTradingAmount=10000,50000,100000,#!#btcTradeMargin=5000
|
|
||||||
// #!#MaxBackups=2
|
|
||||||
// #!#supernodesPubKeys=0315C3A20FE7096CC2E0F81A80D5F1A687B8F9EFA65242A0B0881E1BA3EE7D7D53,
|
|
||||||
// 03F7493F11B8E44B9798CD434D20FBE7FA34B9779D144984889D11A17C56A18742,039B4AA00DBFC0A6631DE6DA83526611A0E6B857D3579DF840BBDEAE8B6898E3B6,
|
|
||||||
// 03C8E3836C9A77E2AF03D4265D034BA85732738919708EAF6A16382195AE796EDF,0349B08AA1ABDCFFB6D78CD7C949665AD2FF065EA02B3C6C47A5E9592C9A1C6BCB,
|
|
||||||
// 026FCC6CFF6EB3A39E54BEB6E13FC2F02C3A93F4767AA80E49E7E876443F95AE5F,029CDB29270DC5087EF4903E8C2364552C62E935FBAA1A96AB53CC5791C7EF2067,
|
|
||||||
// 022EC1D090960D9EFFFC60FDC34AB97A8395A5F6D1326DD1B1380BD9F6E31981CA,037C623A8D31DB751F666A1D2C65EC8996C5978348CEEE8566F480708D4A6335AB,
|
|
||||||
// 032871A74D2DDA9D0DE7135F58B5BD2D7F679D2CCA20EA7909466D1A6912DF4022
|
|
||||||
// #!#externalFiles={"d3js":"58f54395efa8346e8e94d12609770f66b916897e7f4e05f6c98780cffa5c70a3"},
|
|
||||||
// #!#ShamirsMaxShares=8#!#supernodeSeeds={"ranchimall1":{"ip":"127.0.0.1","port":"9001","kbucketId":"oZxHcbSf1JC8t5GjutopWYXs7C6Fe9p7ps"},
|
|
||||||
// "ranchimall2":{"ip":"127.0.0.1","port":"9002","kbucketId":"oTWjPupy3Z7uMdPcu5uXd521HBkcsLuSuM"},
|
|
||||||
// "ranchimall3":{"ip":"127.0.0.1","port":"9003","kbucketId":"odYA6KagmbokSh9GY7yAfeTUZRtZLwecY1"},
|
|
||||||
// "ranchimall4":{"ip":"127.0.0.1","port":"9004","kbucketId":"oJosrve9dBv2Hj2bfncxv2oEpTysg3Wejv"},
|
|
||||||
// "ranchimall5":{"ip":"127.0.0.1","port":"9005","kbucketId":"oMhv5sAzqg77sYHxmUGZWKRrVo4P4JQduS"},
|
|
||||||
// "ranchimall6":{"ip":"127.0.0.1","port":"9006","kbucketId":"oV1wCeWca3VawbBTfUGKA7Vd368PATnKAx"},
|
|
||||||
// "ranchimall7":{"ip":"127.0.0.1","port":"9007","kbucketId":"oSqFZePXibNJqeiboTYmmaqqVkd6esDUfZ"},
|
|
||||||
// "ranchimall8":{"ip":"127.0.0.1","port":"9008","kbucketId":"odUQekfMPsZV3ocneFW8SNSZADFtx9xUtm"},
|
|
||||||
// "ranchimall9":{"ip":"127.0.0.1","port":"9009","kbucketId":"oLYeoBfXWxKkUmRxhn1pcmJWtTu5kZoUJq"},
|
|
||||||
// "ranchimall10":{"ip":"127.0.0.1","port":"9010","kbucketId":"oJJe8wkADkCT28BMLkyf79fqBZeoF21cXL"}}`;
|
|
||||||
|
|
||||||
// RMAssets =
|
|
||||||
// `tradableAsset1=BTC,FLO,BTC_TEST,FLO_TEST#!#tradableAsset2=INR,USD,BTC,FLO,BTC_TEST,FLO_TEST,
|
|
||||||
// #!#supernodes=127.0.0.1,212.88.88.2#!#MASTER_NODE=023B9F60692A17FAC805D012C5C8ADA3DD19A980A3C5F0D8A5B3500CC54D6E8B75
|
|
||||||
// #!#MASTER_RECEIVING_ADDRESS=oVRq2nka1GtALQT8pbuLHAGjqAQ7PAo6uy#!#validTradingAmount=10000,50000,100000,#!#btcTradeMargin=5000
|
|
||||||
// #!#supernodesPubKeys=03692E641440795B6279F548C7156775EB624CC8A27FDA94C5E3B8945EC94DE1F1,02F22822D5E887ABBDA3D5E3A51574C547FEAAC00BF01185AA56858D4C9B00334F,
|
|
||||||
// #!#externalFiles={"d3js":"58f54395efa8346e8e94d12609770f66b916897e7f4e05f6c98780cffa5c70a3"},
|
|
||||||
// #!#ShamirsMaxShares=8#!#supernodeSeeds={"ranchimall1":{"ip":"ranchimall1.duckdns.org","port":"9002","kbucketId":"oURVEZQ6sPT8mwDVTGiBVPqJYqjctXYfF3"},
|
|
||||||
// "ranchimall2":{"ip":"ranchimall1.duckdns.org","port":"9003","kbucketId":"oapBngvTbcNCSfQfzJ9RS1QYfb4ppSQ9KQ"}}`;
|
|
||||||
|
|
||||||
let floAssetsArray = RMAssets.split('#!#');
|
let floAssetsArray = RMAssets.split('#!#');
|
||||||
|
|
||||||
@ -10949,6 +10917,7 @@
|
|||||||
reactor.registerEvent('store_backup_crypto_pk_object');
|
reactor.registerEvent('store_backup_crypto_pk_object');
|
||||||
reactor.registerEvent('sync_backup_nodes_of_my_backup_node');
|
reactor.registerEvent('sync_backup_nodes_of_my_backup_node');
|
||||||
reactor.registerEvent('resolve_backup_ws_connections');
|
reactor.registerEvent('resolve_backup_ws_connections');
|
||||||
|
reactor.registerEvent('shift_ws_connection');
|
||||||
|
|
||||||
reactor.addEventListener('fireNodeWelcomeBackEvent', function(evt) {
|
reactor.addEventListener('fireNodeWelcomeBackEvent', function(evt) {
|
||||||
let getFLOId = bitjs.FLO_TEST.pubkey2address(evt.flo_public_key);
|
let getFLOId = bitjs.FLO_TEST.pubkey2address(evt.flo_public_key);
|
||||||
@ -11120,6 +11089,9 @@
|
|||||||
const switchMyWS = new backupSupernodesWebSocketObject();
|
const switchMyWS = new backupSupernodesWebSocketObject();
|
||||||
switchMyWS.updateSupernodeAvailabilityStatus(params.trader_flo_address, true);
|
switchMyWS.updateSupernodeAvailabilityStatus(params.trader_flo_address, true);
|
||||||
|
|
||||||
|
// Resolve ws connections
|
||||||
|
reactor.dispatchEvent('resolve_backup_ws_connections');
|
||||||
|
|
||||||
if (params.trader_flo_address !== localbitcoinplusplus.wallets.my_local_flo_address) {
|
if (params.trader_flo_address !== localbitcoinplusplus.wallets.my_local_flo_address) {
|
||||||
localbitcoinplusplus.services[`can_serve_${params.trader_flo_address}`] = false;
|
localbitcoinplusplus.services[`can_serve_${params.trader_flo_address}`] = false;
|
||||||
}
|
}
|
||||||
@ -11259,22 +11231,34 @@
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
/*Shifting a WS Connection Function*/
|
||||||
|
reactor.addEventListener('shift_ws_connection', function(wsSupsObj) {
|
||||||
|
return new Promise((resolve, reject)=>{
|
||||||
|
const getFLOId = wsSupsObj.trader_flo_address;
|
||||||
|
if (getFLOId===localbitcoinplusplus.wallets.my_local_flo_address) return;
|
||||||
|
const back_ws_url = `ws://${wsSupsObj.ip}:${wsSupsObj.port}`;
|
||||||
|
|
||||||
|
if (typeof localbitcoinplusplus.backupWS[getFLOId]==="object"
|
||||||
|
&& localbitcoinplusplus.backupWS[getFLOId].ws_connection.readyState==1) {
|
||||||
|
resolve(1);
|
||||||
|
} else {
|
||||||
|
try {
|
||||||
|
localbitcoinplusplus.backupWS[getFLOId] = null;
|
||||||
|
localbitcoinplusplus.backupWS[getFLOId] = new backupSupernodesWebSocketObject(back_ws_url);
|
||||||
|
localbitcoinplusplus.backupWS[getFLOId].connectWS();
|
||||||
|
resolve(localbitcoinplusplus.backupWS[getFLOId].ws_connection.readyState);
|
||||||
|
} catch (error) {
|
||||||
|
reject(error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
reactor.addEventListener('resolve_backup_ws_connections', async function(evt) {
|
reactor.addEventListener('resolve_backup_ws_connections', async function(evt) {
|
||||||
|
|
||||||
if(!localbitcoinplusplus.master_configurations.supernodesPubKeys
|
if(!localbitcoinplusplus.master_configurations.supernodesPubKeys
|
||||||
.includes(localbitcoinplusplus.wallets.my_local_flo_public_key)) return;
|
.includes(localbitcoinplusplus.wallets.my_local_flo_public_key)) return;
|
||||||
|
|
||||||
const myClosestSus = await readAllDB('myClosestSupernodes');
|
|
||||||
let number_of_live_nodes = 0;
|
|
||||||
const myLiveBackupNodes = myClosestSus.filter((m, i)=>{
|
|
||||||
if(i>0 && number_of_live_nodes<localbitcoinplusplus.master_configurations.MaxBackups) {
|
|
||||||
if(m.is_live == true) {
|
|
||||||
number_of_live_nodes++;
|
|
||||||
return m;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
for (const backup_id in localbitcoinplusplus.backupWS) {
|
for (const backup_id in localbitcoinplusplus.backupWS) {
|
||||||
if (localbitcoinplusplus.backupWS.hasOwnProperty(backup_id)) {
|
if (localbitcoinplusplus.backupWS.hasOwnProperty(backup_id)) {
|
||||||
const backup_conns = localbitcoinplusplus.backupWS[backup_id];
|
const backup_conns = localbitcoinplusplus.backupWS[backup_id];
|
||||||
@ -11287,20 +11271,25 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
myLiveBackupNodes.map(m=>{
|
// If already condition of number of ws connections are satisfied return back
|
||||||
const getFLOId = m.trader_flo_address;
|
if (Object.keys(localbitcoinplusplus.backupWS).length
|
||||||
if (getFLOId===localbitcoinplusplus.wallets.my_local_flo_address) return;
|
=== localbitcoinplusplus.master_configurations.MaxBackups) return;
|
||||||
const back_ws_url = `ws://${m.ip}:${m.port}`;
|
|
||||||
|
|
||||||
if (typeof localbitcoinplusplus.backupWS[getFLOId]==="object"
|
try {
|
||||||
&& localbitcoinplusplus.backupWS[getFLOId].ws_connection.readyState==1) {
|
const myClosestSups = await readAllDB('myClosestSupernodes');
|
||||||
// Do nothing
|
for (let z = 1; z < myClosestSups.length-1; z++) {
|
||||||
} else {
|
const supsObj = myClosestSups[z];
|
||||||
localbitcoinplusplus.backupWS[getFLOId] = null;
|
|
||||||
localbitcoinplusplus.backupWS[getFLOId] = new backupSupernodesWebSocketObject(back_ws_url);
|
reactor.dispatchEvent('shift_ws_connection', supsObj);
|
||||||
localbitcoinplusplus.backupWS[getFLOId].connectWS();
|
|
||||||
|
if (Object.keys(localbitcoinplusplus.backupWS).length
|
||||||
|
== localbitcoinplusplus.master_configurations.MaxBackups) break;
|
||||||
}
|
}
|
||||||
});
|
|
||||||
|
} catch (error) {
|
||||||
|
throw new Error(error);
|
||||||
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user