resolved ws shifting connections
This commit is contained in:
parent
89e56e8b0d
commit
f0eb1cbfe1
@ -10081,43 +10081,11 @@
|
||||
03F7493F11B8E44B9798CD434D20FBE7FA34B9779D144984889D11A17C56A18742,039B4AA00DBFC0A6631DE6DA83526611A0E6B857D3579DF840BBDEAE8B6898E3B6,
|
||||
03C8E3836C9A77E2AF03D4265D034BA85732738919708EAF6A16382195AE796EDF,0349B08AA1ABDCFFB6D78CD7C949665AD2FF065EA02B3C6C47A5E9592C9A1C6BCB
|
||||
#!#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"}}`;
|
||||
|
||||
// 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"}}`;
|
||||
#!#ShamirsMaxShares=8#!#supernodeSeeds={"ranchimall1":{"ip":"127.0.0.1","port":"9111","kbucketId":"oZxHcbSf1JC8t5GjutopWYXs7C6Fe9p7ps"},
|
||||
"ranchimall2":{"ip":"127.0.0.1","port":"9112","kbucketId":"oTWjPupy3Z7uMdPcu5uXd521HBkcsLuSuM"},
|
||||
"ranchimall3":{"ip":"127.0.0.1","port":"9113","kbucketId":"odYA6KagmbokSh9GY7yAfeTUZRtZLwecY1"},
|
||||
"ranchimall4":{"ip":"127.0.0.1","port":"9114","kbucketId":"oJosrve9dBv2Hj2bfncxv2oEpTysg3Wejv"},
|
||||
"ranchimall5":{"ip":"127.0.0.1","port":"9115","kbucketId":"oMhv5sAzqg77sYHxmUGZWKRrVo4P4JQduS"}}`;
|
||||
|
||||
let floAssetsArray = RMAssets.split('#!#');
|
||||
|
||||
@ -10949,6 +10917,7 @@
|
||||
reactor.registerEvent('store_backup_crypto_pk_object');
|
||||
reactor.registerEvent('sync_backup_nodes_of_my_backup_node');
|
||||
reactor.registerEvent('resolve_backup_ws_connections');
|
||||
reactor.registerEvent('shift_ws_connection');
|
||||
|
||||
reactor.addEventListener('fireNodeWelcomeBackEvent', function(evt) {
|
||||
let getFLOId = bitjs.FLO_TEST.pubkey2address(evt.flo_public_key);
|
||||
@ -11120,6 +11089,9 @@
|
||||
const switchMyWS = new backupSupernodesWebSocketObject();
|
||||
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) {
|
||||
localbitcoinplusplus.services[`can_serve_${params.trader_flo_address}`] = false;
|
||||
}
|
||||
@ -11259,21 +11231,33 @@
|
||||
});
|
||||
});
|
||||
|
||||
/*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) {
|
||||
|
||||
if(!localbitcoinplusplus.master_configurations.supernodesPubKeys
|
||||
.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) {
|
||||
if (localbitcoinplusplus.backupWS.hasOwnProperty(backup_id)) {
|
||||
@ -11287,20 +11271,25 @@
|
||||
}
|
||||
}
|
||||
|
||||
myLiveBackupNodes.map(m=>{
|
||||
const getFLOId = m.trader_flo_address;
|
||||
if (getFLOId===localbitcoinplusplus.wallets.my_local_flo_address) return;
|
||||
const back_ws_url = `ws://${m.ip}:${m.port}`;
|
||||
// If already condition of number of ws connections are satisfied return back
|
||||
if (Object.keys(localbitcoinplusplus.backupWS).length
|
||||
=== localbitcoinplusplus.master_configurations.MaxBackups) return;
|
||||
|
||||
try {
|
||||
const myClosestSups = await readAllDB('myClosestSupernodes');
|
||||
for (let z = 1; z < myClosestSups.length-1; z++) {
|
||||
const supsObj = myClosestSups[z];
|
||||
|
||||
if (typeof localbitcoinplusplus.backupWS[getFLOId]==="object"
|
||||
&& localbitcoinplusplus.backupWS[getFLOId].ws_connection.readyState==1) {
|
||||
// Do nothing
|
||||
} else {
|
||||
localbitcoinplusplus.backupWS[getFLOId] = null;
|
||||
localbitcoinplusplus.backupWS[getFLOId] = new backupSupernodesWebSocketObject(back_ws_url);
|
||||
localbitcoinplusplus.backupWS[getFLOId].connectWS();
|
||||
reactor.dispatchEvent('shift_ws_connection', supsObj);
|
||||
|
||||
if (Object.keys(localbitcoinplusplus.backupWS).length
|
||||
== localbitcoinplusplus.master_configurations.MaxBackups) break;
|
||||
}
|
||||
});
|
||||
|
||||
} catch (error) {
|
||||
throw new Error(error);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user