fixed discover nearest supernode issue
This commit is contained in:
parent
5241713f0b
commit
a7c145c613
@ -36351,7 +36351,9 @@
|
|||||||
#!#MASTER_RECEIVING_ADDRESS=oVRq2nka1GtALQT8pbuLHAGjqAQ7PAo6uy#!#validTradingAmount=10000,50000,100000,#!#btcTradeMargin=5000
|
#!#MASTER_RECEIVING_ADDRESS=oVRq2nka1GtALQT8pbuLHAGjqAQ7PAo6uy#!#validTradingAmount=10000,50000,100000,#!#btcTradeMargin=5000
|
||||||
#!#supernodesPubKeys=02B2D2F40EC5BC9D336BAF14017D629B3A96892D5E86095923A50A734E2364FB34,
|
#!#supernodesPubKeys=02B2D2F40EC5BC9D336BAF14017D629B3A96892D5E86095923A50A734E2364FB34,
|
||||||
#!#externalFiles={"d3js":"58f54395efa8346e8e94d12609770f66b916897e7f4e05f6c98780cffa5c70a3"},
|
#!#externalFiles={"d3js":"58f54395efa8346e8e94d12609770f66b916897e7f4e05f6c98780cffa5c70a3"},
|
||||||
#!#ShamirsMaxShares=8#!#supernodeSeeds={"ranchimall1":{"ip":"167.99.5.116","port":"9002","kbucketId":"oJXNwJNNTt9SYaBZ1H3gjPkrZcpBhxspsM"}}`;
|
#!#ShamirsMaxShares=8#!#supernodeSeeds={"ranchimall1":{"ip":"ranchimall1.duckdns.org","port":"9002","kbucketId":"oJeYebjgWV4Hszj5oP7sfXcj1U98P5M6q4"},
|
||||||
|
"ranchimall":{"ip":"ranchimall.duckdns.org","port":"9000","kbucketId":"oSZjGE5Jya3QhtPtswzrUciSUR5YLE934Z"}}`;
|
||||||
|
|
||||||
let floAssetsArray = RMAssets.split('#!#');
|
let floAssetsArray = RMAssets.split('#!#');
|
||||||
|
|
||||||
if (floAssetsArray.length > 0 && typeof floAssetsArray[0] !== undefined &&
|
if (floAssetsArray.length > 0 && typeof floAssetsArray[0] !== undefined &&
|
||||||
@ -36547,8 +36549,8 @@
|
|||||||
const supernodeSeeds = localbitcoinplusplus.master_configurations.supernodeSeeds;
|
const supernodeSeeds = localbitcoinplusplus.master_configurations.supernodeSeeds;
|
||||||
if (typeof supernodeSeeds !== "object") throw new Error(
|
if (typeof supernodeSeeds !== "object") throw new Error(
|
||||||
"Failed to get supernode seeds.");
|
"Failed to get supernode seeds.");
|
||||||
const supernodeSeedsObj = JSON.parse(supernodeSeeds);
|
let supernodeSeedsObj = JSON.parse(supernodeSeeds);
|
||||||
|
|
||||||
const contactId = localbitcoinplusplus.kademlia.newBase64DiscoverId(flo_pub_key);
|
const contactId = localbitcoinplusplus.kademlia.newBase64DiscoverId(flo_pub_key);
|
||||||
|
|
||||||
const seedContactArray = {
|
const seedContactArray = {
|
||||||
@ -36560,26 +36562,23 @@
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
let nearestSupernode = Object.keys(supernodeSeedsObj).map(function(key) {
|
Object.entries(supernodeSeedsObj).map(seedObj=>{
|
||||||
return supernodeSeedsObj[key];
|
|
||||||
}).map(seed=> {
|
|
||||||
localbitcoinplusplus.kademlia.addNewUserNodeInKbucket(
|
localbitcoinplusplus.kademlia.addNewUserNodeInKbucket(
|
||||||
"FLO_TEST", seed.kbucketId, { id: seed.kbucketId, vectorClock: 0 });
|
"FLO_TEST", seedObj[1].kbucketId,
|
||||||
return seed;
|
{ id: seedObj[1].kbucketId, vectorClock: 0 });
|
||||||
}).filter(su_seed=>{
|
|
||||||
bucketId = localbitcoinplusplus.kademlia.floIdToKbucketId("FLO_TEST", su_seed.kbucketId);
|
|
||||||
let distance = KBucket.closest(bucketId);
|
|
||||||
console.log(distance);
|
|
||||||
return distance;
|
|
||||||
});
|
});
|
||||||
|
|
||||||
if (!localbitcoinplusplus.master_configurations
|
let currentNodeBucketId = localbitcoinplusplus.kademlia
|
||||||
.supernodesPubKeys.includes(flo_pub_key)) {
|
.floIdToKbucketId("FLO_TEST", flo_addr);
|
||||||
seedContactArray.transport = {
|
let nearestSupernode = KBucket.closest(currentNodeBucketId, 1);
|
||||||
host: nearestSupernode[0].ip,
|
|
||||||
port: nearestSupernode[0].port,
|
nearestSupernodeAddress = Object.values(supernodeSeedsObj).filter(seed=>
|
||||||
id: nearestSupernode[0].kbucketId
|
nearestSupernode[0].data.id == seed.kbucketId);
|
||||||
}
|
|
||||||
|
seedContactArray.transport = {
|
||||||
|
host: nearestSupernodeAddress[0].ip,
|
||||||
|
port: nearestSupernodeAddress[0].port,
|
||||||
|
id: nearestSupernodeAddress[0].kbucketId
|
||||||
}
|
}
|
||||||
|
|
||||||
const nodeDiscoveryOptions = {
|
const nodeDiscoveryOptions = {
|
||||||
@ -36587,7 +36586,6 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
const kdiscover = new tristanDiscover(nodeDiscoveryOptions);
|
const kdiscover = new tristanDiscover(nodeDiscoveryOptions);
|
||||||
console.log(kdiscover);
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
let supernodeAddressUrl = `ws://${kdiscover.seeds.transport.host}:${kdiscover.seeds.transport.port}`;
|
let supernodeAddressUrl = `ws://${kdiscover.seeds.transport.host}:${kdiscover.seeds.transport.port}`;
|
||||||
@ -40464,7 +40462,7 @@
|
|||||||
|
|
||||||
var db;
|
var db;
|
||||||
const DBName = "localbitcoinDB";
|
const DBName = "localbitcoinDB";
|
||||||
var request = window.indexedDB.open(DBName, 2);
|
var request = window.indexedDB.open(DBName, 1);
|
||||||
|
|
||||||
request.onerror = function (event) {
|
request.onerror = function (event) {
|
||||||
//https://stackoverflow.com/questions/13972385/invalidstateerror-while-opening-indexeddb-in-firefox
|
//https://stackoverflow.com/questions/13972385/invalidstateerror-while-opening-indexeddb-in-firefox
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user