diff options
Diffstat (limited to 'src/js/arching-kaos-tools.js')
-rw-r--r-- | src/js/arching-kaos-tools.js | 578 |
1 files changed, 377 insertions, 201 deletions
diff --git a/src/js/arching-kaos-tools.js b/src/js/arching-kaos-tools.js index 0e35c7f..c8ebfb9 100644 --- a/src/js/arching-kaos-tools.js +++ b/src/js/arching-kaos-tools.js @@ -1,44 +1,81 @@ -/* Arching Kaos Tools - * - * Kaotisk Hund - 2024 - * - * @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPL v3.0 - * - */ -function getArrayLength(array){ - var length = 0; - for ( e in array ) { - length++; - } - return length; -} - -function showResult(id){ +// Arching Kaos Tools +// +// Kaotisk Hund - 2024 +// +// @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPL v3.0 +// + +import { archingKaosLog } from "./arching-kaos-log.js"; +import { makeElement } from "./arching-kaos-generator.js"; +import { progressPlaceholder, resultsArea, aknet } from "./app.js"; +import { archingKaosFetchJSON } from "./arching-kaos-fetch.js"; +import { getIPFSURL, getIPNSURL } from "./url-generators.js"; +import { + stellarParticipantInfo, + getStellarParticipantsScanned, + getStellarNetworkConfiguredAddresses, + setFullZblock, + setZblock, + setData, + getParticipants, + setZchainLoadingStatus, + getZchainLoadingStatuses, + setSortedMixtapes, + getMixtapes, + increaseZchainsFound, + setZchain +} from "./environment-setup.js"; +import { akModuleComments } from "./arching-kaos-modules-comments.js"; +import { akModuleFiles } from "./arching-kaos-modules-files.js"; +import { akModuleMixtapes } from "./arching-kaos-modules-mixtapes.js"; +import { akModuleNews } from "./arching-kaos-modules-news.js"; +import { akModuleMarkdown } from "./arching-kaos-modules-markdown.js"; +import { storeReference, resolveReferences } from "./arching-kaos-modules-references.js"; +import { getSettings } from "./arching-kaos-web-ui-settings.js"; +import { debugLog } from "./utils.js"; + +var settings = getSettings(); + +export function showResult(id) +{ const found = document.querySelector(`#${id}`).cloneNode(true); - const overlay = document.createElement('div'); - overlay.id = 'unique-overlay'; const title = { element:'h3', innerText : "Result" }; - makeElement(title, overlay); var closeButton = { element:'button', innerHTML: 'x', id:"buttonCloseResult" }; - makeElement(closeButton, overlay); - makeElement(found, overlay); - makeElement(overlay, resultsArea); + var resultsHeader = { + element: 'div', + id: 'results-header', + innerHTML:[ + title, + closeButton + ] + }; + const overlay = { + element:'div', + id:'unique-overlay', + innerHTML:[ + resultsHeader + ] + }; + makeElement(overlay, resultsArea()); + document.querySelector('#unique-overlay').appendChild(found); closeButton = document.querySelector('#buttonCloseResult'); closeButton.addEventListener("click", ()=>{ document.querySelector('#unique-overlay').remove(); }); } -function renderStellarAddressPlaceholder(stellarAddress){ +function renderStellarAddressPlaceholder(stellarAddress) +{ var divs = document.querySelector('#'+stellarAddress); - if ( divs === null ){ + if ( divs === null ) + { var details = document.createElement('details'); details.id = '#'+stellarAddress; var summary = document.createElement('summary'); @@ -50,42 +87,77 @@ function renderStellarAddressPlaceholder(stellarAddress){ return divs; } -function nodeInfoRender(json, stellarAddress){ +function nodeInfoRender(json, stellarAddress, parentTag=null) +{ var divs = renderStellarAddressPlaceholder(stellarAddress); - for( key in Object.keys(json) ){ - if ( typeof(json[Object.keys(json)[key]]) === "string" ) { - if(!document.querySelector('#'+Object.keys(json)[key]+'-'+stellarAddress)){ - var p = document.createElement("p"); - p.id = Object.keys(json)[key]+'-'+stellarAddress; - p.innerText = Object.keys(json)[key] + ": " +json[Object.keys(json)[key]]; - divs.appendChild(p); + const keys = Object.keys(json); + if ( parentTag === null ) + { + debugLog(json); + for( var i = 0; i < keys.length; i++ ) + { + if ( typeof(json[keys[i]]) === "string" ) + { + if(!document.querySelector('#'+keys[i]+'-'+stellarAddress)) + { + var p = { + element:"p", + id: `${keys[i]}-${stellarAddress}`, + innerText: `${keys[i]}: ${json[keys[i]]}` + }; + makeElement(p, divs); + } + } + else if ( typeof(json[keys[i]]) === "Object"||"Array" ) + { + nodeInfoRender(json[keys[i]], stellarAddress, keys[i]); } } - else if ( typeof(json[Object.keys(json)[key]]) === "Object"||"Array" ) { - nodeInfoRender(json[Object.keys(json)[key]], stellarAddress); + } + else if ( typeof(parentTag) === "string" ) + { + for( var i = 0; i < keys.length; i++ ) + { + if ( typeof(json[keys[i]]) === "string" ) + { + if(!document.querySelector(`#${parentTag}-${keys[i]}-${stellarAddress}`)) + { + var p = { + element:"p", + id: `${parentTag}-${keys[i]}-${stellarAddress}`, + innerText: `${parentTag}.${keys[i]}: ${json[keys[i]]}` + }; + makeElement(p, divs); + } + } } } } -function nodeInfoRenderAndProceed(json, stellarAddress){ +function nodeInfoRenderAndProceed(json, stellarAddress) +{ nodeInfoRender(json, stellarAddress); - participants[stellarAddress]=json; - if ( stellarParticipantsScanned === 0 ) { + stellarParticipantInfo(stellarAddress, json); + if ( getStellarParticipantsScanned() === 0 ) + { archingKaosLog('Scanned all Stellar participants'); } - progressPlaceholder.value++; - if (json.zlatest) { + progressPlaceholder().value++; + if (json.zlatest) + { seekZblock(json.zlatest, [json.gpg, json]); } //seekZchain(json.zchain,stellarAddress,json); } -function renderZblockAndProceed(json, params){ - console.log(typeof(params)) +function renderZblockAndProceed(json, params) +{ + debugLog(typeof(params)) const [zblockIPFSHash, group, recursive] = params; - console.log(group); + debugLog(group); var zblockElement = document.querySelector('#zb-'+zblockIPFSHash); - if(json.block){ + if(json.block) + { var p = { element:"p", innerText:"Block: " +json.block, @@ -93,24 +165,27 @@ function renderZblockAndProceed(json, params){ }; makeElement(p, zblockElement); } - if(json.block_signature){ + if(json.block_signature) + { var p = { element:"p", innerText:"Signature: " +json.block_signature }; makeElement(p, zblockElement); } - progressPlaceholder.max++; - progressPlaceholder.value++; + progressPlaceholder().max++; + progressPlaceholder().value++; //if (recursive) seekBlock(json.block,zblockIPFSHash,group,json); seekBlock(json.block,zblockIPFSHash,group,json,recursive); } -function mixtapeSorting(a,b){ +function mixtapeSorting(a,b) +{ return a.timestamp - b.timestamp } -function blockRenderAndProceed(json, params){ +function blockRenderAndProceed(json, params) +{ const [group, zblockIPFSHash, blockIPFSHash, zblockObject, recursive] = params; /* Could be json object with * - action @@ -122,28 +197,32 @@ function blockRenderAndProceed(json, params){ */ // var divs = document.querySelector('#zchain-data-section'); var detailsPlace = document.querySelector('#zb-'+zblockIPFSHash); - if(json.action){ + if(json.action) + { var p = { element:"p", innerText:"Action: " +json.action }; if(detailsPlace!== null) makeElement(p, detailsPlace); } - if(json.detach){ + if(json.detach) + { var p = { element:"p", innerText:"Detach: " +json.detach }; if(detailsPlace!== null) makeElement(p, detailsPlace); } - if(json.gpg){ + if(json.gpg) + { var p = { element:"p", innerText:"GPG: " +json.gpg }; if(detailsPlace!== null) makeElement(p, detailsPlace); } - if(json.data){ + if(json.data) + { var p = { element:"p", innerText:"Data: ", @@ -153,66 +232,68 @@ function blockRenderAndProceed(json, params){ }; if(detailsPlace!== null) makeElement(p, detailsPlace); } - if(json.timestamp){ + if(json.timestamp) + { var p = { element:"p", innerText:"Timestamp: " +json.timestamp + " [" + new Date(json.timestamp*1000) + "]" }; if(detailsPlace!== null) makeElement(p, detailsPlace); } - if(json.previous){ + if(json.previous) + { var p = { element:"p", innerText:"Previous: " +json.previous }; if(detailsPlace!== null) makeElement(p, detailsPlace); } - progressPlaceholder.value++; + progressPlaceholder().value++; exe(json.action,json.data,json,zblockIPFSHash,group,zblockObject,recursive); - if ( checkIfGenesis(json.previous) ){ + if ( checkIfGenesis(json.previous) ) + { archingKaosLog("Done loading " + group + " zchain!") - progressPlaceholder.value++; - zchainLoadingStatus[group] = {loading: "completed"}; - if ( getArrayLength(zchainLoadingStatus) === stellarNetworkConfiguredAddresses){ + progressPlaceholder().value++; + setZchainLoadingStatus(group, {loading: "completed"}); + if ( getZchainLoadingStatuses().length === getStellarNetworkConfiguredAddresses()) + { var x=0; - for ( element in zchainLoadingStatus ) { - if ( zchainLoadingStatus[element].loading === "completed" ){ + for ( var element = 0; element < getZchainLoadingStatuses().length; element++ ) + { + if ( getZchainLoadingStatuses()[element].loading === "completed" ) + { x++; } } - if ( x === getArrayLength(zchainLoadingStatus) ){ + if ( x === getZchainLoadingStatuses().length ) + { archingKaosLog("Everything is completed!"); - sortedMixtapes = mixtapes.sort(mixtapeSorting); + setSortedMixtapes(getMixtapes().sort(mixtapeSorting)); } } - resolveReferences(references); - radioLoad(); - } else { - console.log("deep in :" +group); - if (recursive) seekZblock(json.previous, [group]); + resolveReferences(); + //radioLoad(); } -} - -function getNicknameAssossiatedWithGPG(gpgIPFSHash){ - for (let i in participants){ - if ( participants[i].gpg === gpgIPFSHash ){ - if (participants[i].profile.nickname){ - return participants[i].profile.nickname; - } - } + else + { + debugLog("deep in :" +group); + if (recursive) seekZblock(json.previous, [group]); } } -function getConfiguration(nodeInfoIPNSLink,stellarAddress){ - progressPlaceholder.max++; - archingKaosLog("Parsing the configuration...") - archingKaosFetchJSON(getIPNSURL(nodeInfoIPNSLink), nodeInfoRenderAndProceed, stellarAddress) +export function getConfiguration(nodeInfoIPNSLink,stellarAddress) +{ + progressPlaceholder().max++; + archingKaosLog("Parsing the configuration..."); + archingKaosFetchJSON(getIPNSURL(nodeInfoIPNSLink), nodeInfoRenderAndProceed, stellarAddress); } -function seekZchain(zchainIPNSLink,stellarAddress,json){ +function seekZchain(zchainIPNSLink,stellarAddress,json) +{ var divs = document.querySelector('#zchain-data-section'); var details = 0; - if ( document.querySelector('#zd-' + zchainIPNSLink) === null ){ + if ( document.querySelector('#zd-' + zchainIPNSLink) === null ) + { details = { element:"details", id : 'zd-' + zchainIPNSLink, @@ -222,7 +303,8 @@ function seekZchain(zchainIPNSLink,stellarAddress,json){ } details = document.querySelector('#zd-' + zchainIPNSLink); - if(zchainIPNSLink){ + if(zchainIPNSLink) + { var p = { element:"summary", innerText:"zchain: " + zchainIPNSLink @@ -230,27 +312,32 @@ function seekZchain(zchainIPNSLink,stellarAddress,json){ makeElement(p, details); } archingKaosLog("Seeking zchain " + zchainIPNSLink + "..."); - console.log(json) + debugLog(json); archingKaosFetchJSON(getIPNSURL(zchainIPNSLink), seekZblock, [zchainIPNSLink, stellarAddress, json]); } -function checkIfGenesis(zblockIPFSHash){ - if(zblockIPFSHash==="QmbFMke1KXqnYyBBWxB74N4c5SBnJMVAiMNRcGu6x1AwQH" || zblockIPFSHash === "genesis"){ +function checkIfGenesis(zblockIPFSHash) +{ + if(zblockIPFSHash==="QmbFMke1KXqnYyBBWxB74N4c5SBnJMVAiMNRcGu6x1AwQH" || zblockIPFSHash === "genesis") + { return true; - } else { + } + else + { return false; } } -function seekBlock(blockIPFSHash, zblockIPFSHash, group, zblockObject, recursive){ - console.log(blockIPFSHash); - console.log(zblockIPFSHash); - console.log(group); - console.log(zblockObject); - console.log(recursive); +function seekBlock(blockIPFSHash, zblockIPFSHash, group, zblockObject, recursive) +{ + debugLog(blockIPFSHash); + debugLog(zblockIPFSHash); + debugLog(group); + debugLog(zblockObject); + debugLog(recursive); archingKaosLog("Seeking block "+blockIPFSHash+"..."); // detailsPlace = document.querySelector('#zb-'+zblockIPFSHash); - progressPlaceholder.max++; + progressPlaceholder().max++; archingKaosFetchJSON( getIPFSURL(blockIPFSHash), blockRenderAndProceed, @@ -258,12 +345,19 @@ function seekBlock(blockIPFSHash, zblockIPFSHash, group, zblockObject, recursive ); } -function getNicknameAssossiatedWithGPG(gpgIPFSHash){ - for (let i in participants){ - if ( participants[i].gpg === gpgIPFSHash ){ - if (participants[i].profile.nickname !== 'undefined'){ +export function getNicknameAssossiatedWithGPG(gpgIPFSHash) +{ + const participants = getParticipants(); + for (var i = 0; i < participants.length; i++) + { + if ( participants[i].gpg === gpgIPFSHash ) + { + if (participants[i].profile.nickname !== 'undefined') + { return participants[i].profile.nickname; - } else { + } + else + { return gpgIPFSHash; } } @@ -271,29 +365,53 @@ function getNicknameAssossiatedWithGPG(gpgIPFSHash){ return gpgIPFSHash; } -function renderGroupOnDataSection(group){ +function renderGroupOnDataSection(group) +{ var divs = document.querySelector('#zchain-data-section'); - if (divs.querySelector("#zchain-data-sec-not-found")){ + if (divs.querySelector("#zchain-data-sec-not-found")) + { divs.querySelector("#zchain-data-sec-not-found").remove(); } - if ( divs.querySelector('#zd-' + group) === null ){ + var group_render = ""; + if ( typeof(group) === "string" ) + { + group_render = group; + } + else + { + group_render = group.fingerprint; + } + if ( divs.querySelector('#zd-' + group_render) === null ) + { var details = { element:"details", - id : 'zd-' + group, + id : 'zd-' + group_render, className : 'zchain-details', innerHTML:[ - { element:'summary', innerText: group } + { element:'summary', innerText: group_render } ] }; - makeElement(details, divs); - } else { - //console.log('Else got hit in seekZchain'); + makeElement(details, divs.querySelector('.content')); + } + else + { + //debugLog('Else got hit in seekZchain'); return 0; } } -function renderZblockUnderGroup(zblock, group){ - const divs = document.querySelector('#zd-' + group); +function renderZblockUnderGroup(zblock, group) +{ + var group_render = ""; + if ( typeof(group) === "string" ) + { + group_render = group; + } + else + { + group_render = group.fingerprint; + } + const divs = document.querySelector('#zd-' + group_render); var zblockElement = { element:"article", id: "zb-"+zblock, @@ -304,61 +422,70 @@ function renderZblockUnderGroup(zblock, group){ makeElement(zblockElement, divs); } -function seekZblock(zblockIPFSHash, params){ +export function seekZblock(zblockIPFSHash, params) +{ var [group, recursive=true] = params; - console.log(params) - console.log(group) + debugLog(params); + debugLog(group); // const [zchainIPNSLink, stellarAddress, recursive] = params; renderGroupOnDataSection(group); renderZblockUnderGroup(zblockIPFSHash, group); archingKaosLog("Seeking ZBLOCK " + zblockIPFSHash + "..."); -// if (recursive !== true || recursive !== false){ +// if (recursive !== true || recursive !== false) +// { // recursive = true; // } archingKaosFetchJSON(getIPFSURL(zblockIPFSHash), renderZblockAndProceed, [zblockIPFSHash, group, recursive]); } -function getConfiguration(nodeInfoIPNSLink,stellarAddress){ - progressPlaceholder.max++; - archingKaosLog("Parsing the configuration...") - archingKaosFetchJSON(getIPNSURL(nodeInfoIPNSLink), nodeInfoRenderAndProceed, stellarAddress) -} - -function renderZblockAsModule(json, params){ +function renderZblockAsModule(json, params) +{ const [action, group, zblockIPFSHash, zblockObject, blockObject, references, recursive] = params; - if (action == "files/add") { + if (action == "files/add") + { akModuleFiles(zblockIPFSHash, blockObject, json); } - else if (action == "news/add") { + else if (action == "news/add") + { akModuleNews(zblockIPFSHash, zblockObject, blockObject, json); } - else if (action == "comments/add") { + else if (action == "markdown/add") + { + akModuleMarkdown(zblockIPFSHash, zblockObject, blockObject, json); + } + else if (action == "comments/add") + { akModuleComments(zblockIPFSHash,blockObject, json); } - else if (action == "references/add"){ + else if (action == "references/add") + { storeReference(zblockIPFSHash, zblockObject, blockObject, json, references); } - else if (action == "mixtape/add") { + else if (action == "mixtape/add") + { akModuleMixtapes(zblockIPFSHash, zblockObject, blockObject, json); } - else { + else + { archingKaosLog(action + " module not found"); } - if (!recursive) { + if (!recursive) + { var button = document.createElement('button'); button.innerText =`${action.split('/')[0]}-${zblockIPFSHash} 📖`; - var params = `${action.split('/')[0]}-${zblockIPFSHash}` + var params = `${action.split('/')[0]}-${zblockIPFSHash}`; button.onclick = ()=>{ showResult(params); }; - resultsArea.appendChild(button); + resultsArea().appendChild(button); } } -function saveDataAndFullZblocks(json,params){ +function saveDataAndFullZblocks(json,params) +{ const [action, group, zblockIPFSHash, zblockObject, blockObject, references, recursive] = params; - fullZblocks[zblockIPFSHash]={ + setFullZblock(zblockIPFSHash, { zblock:zblockIPFSHash, block:zblockObject.block, block_signature:zblockObject.block_signature, @@ -369,142 +496,191 @@ function saveDataAndFullZblocks(json,params){ detach:blockObject.detach, gpg:blockObject.gpg, timestamp:blockObject.timestamp - }; - zblocks[group] = new Array; - zblocks[group].push(zblockIPFSHash); - data[blockObject.data]=json; - progressPlaceholder.max++; - progressPlaceholder.value++; + }); + setZblock(group, zblockIPFSHash); + setData(blockObject.data, json); + progressPlaceholder().max++; + progressPlaceholder().value++; } -function doStuffWithFetchedDataBlock(json, params){ - saveDataAndFullZblocks(json,params); +function doStuffWithFetchedDataBlock(json, params) +{ + saveDataAndFullZblocks(json, params); renderZblockAsModule(json, params); } -function exe(action,dataIPFSHash,blockObject,zblockIPFSHash,group,zblockObject,recursive){ +function exe(action,dataIPFSHash,blockObject,zblockIPFSHash,group,zblockObject,recursive) +{ archingKaosLog(`Render ZBLOCK ${zblockIPFSHash} as ${action} ...`); archingKaosFetchJSON( getIPFSURL(dataIPFSHash), doStuffWithFetchedDataBlock, - [action, group, zblockIPFSHash, zblockObject, blockObject, references, recursive] + [action, group, zblockIPFSHash, zblockObject, blockObject, null, recursive] ); } -function getipfstext(ipfsHash, articleid){ - fetch(getIPFSURL(ipfsHash), { - method:'GET', - headers:{ - Accept: 'text/plain' - } - }).then(response=>{ - if(response.ok){ - response.text().then(text=>{ - var divs = document.querySelector('#'+articleid); - if(text){ - var lines = text.split('\n'); - // remove one line, starting at the first position - // lines.splice(0,1); - var newtext = lines.join('\n'); - var pre = { - element:"div", - className:"news-text", - innerHTML:DOMPurify.sanitize(marked.parse(newtext)) - }; - makeElement(pre, divs); - } - }) - } - }) +export function getPreviewText(text, params) +{ + var [ articleid, button ] = params; + var divs = document.querySelector(articleid); + if(text) + { + var newtext = text.substring(0, 500); + var pre = { + element:"div", + innerHTML:[ + { + element:"div", + className:"news-text", + innerHTML:DOMPurify.sanitize(marked.parse(newtext)) + }, + button + ] + }; + makeElement(pre, divs); + } +} + +export function getFullText(text, params) +{ + var [ articleid ] = params; + var divs = document.querySelector(articleid); + if(text) + { + var pre = { + element:"div", + className:"news-text", + innerHTML:DOMPurify.sanitize(marked.parse(text)) + }; + makeElement(pre, divs); + } } -function checkIfZchainAndProceed(json, params){ +function checkIfZchainAndProceed(json, params) +{ const [group] = params; - if (json.zlatest) { - if (!aknet.querySelector('#ak-zchain-'+json.zchain)){ + if (json.zlatest) + { + if (!aknet().querySelector('#ak-zchain-'+json.zchain)) + { var pre = { element:"pre", innerText:json.zchain, id:'ak-zchain-'+json.zchain }; - makeElement(pre, aknet); + makeElement(pre, aknet()); } } seekZblock(json.zlatest, [group, true]); } -function sblockExpanding(json, args){ +function sblockExpanding(json, args) +{ const [sblockHash] = args; - if (json.zblocks){ - for ( zblock in json.zblocks ){ + if (json.zblocks) + { + for ( var zblock = 0; zblock < json.zblocks.length; zblock++ ) + { seekZblock(json.zblocks[zblock],sblockHash,false); archingKaosLog("Found "+json.zblocks[zblock]+" of "+sblockHash); } } - if (json.zpairs){ - for ( pair in json.zpairs ){ + if (json.zpairs) + { + for ( var pair = 0; pair < json.zpairs.length; pair++ ) + { seekZchain(json.zpairs[pair].latest,json.zpairs[pair].zchain,true); archingKaosLog("Found "+json.zblocks[zblock]+" of "+json.zpairs[pair].zchain); } } - if (json.previous) { + if (json.previous) + { crawlSchain(json.previous); } } -function crawlSchain(sblockHash){ - shatest = /0{128}/ - if ( shatest.test(sblockHash) ){ - console.log('genesis!!!'); - } else { - zchainLoadingStatus[sblockHash] = {loading : "started"}; - zchainsFound++; - zchains[sblockHash] = []; - var url=activeSettings.localAPI+'/v0/sblock/'+sblockHash; +function crawlSchain(sblockHash) +{ + var shatest = /0{128}/ + if ( shatest.test(sblockHash) ) + { + debugLog('genesis!!!'); + } + else + { + setZchainLoadingStatus(sblockHash, {loading : "started"}); + increaseZchainsFound(); + setZchain(sblockHash, []); + var url=settings.ak.connect.list[settings.ak.connect.active]+'/v0/sblock/'+sblockHash; archingKaosLog("Fetching "+sblockHash+" sblock..."); archingKaosFetchJSON(url, sblockExpanding, [sblockHash]); archingKaosLog("Fetching "+sblockHash+" sblock... Done!"); } } -function initCrawlSchain(json){ - if (json.latest_block){ +function initCrawlSchain(json) +{ + if (json.latest_block) + { crawlSchain(json.latest_block); archingKaosLog("Diving in "+json.latest_block+" ..."); - } else { + } + else + { archingKaosLog("Can't dive ..."); } } -function checkPeers(json){ - for (peer in json){ - archingKaosLog("Checking peer: "+json[peer].cjdns.ip) - checkIfZchainAndProceed(json[peer].node_info, [json[peer].node_info.gpg]); +function checkPeers(json) +{ + for ( var peer = 0; peer < json.length; peer++) + { + if ( json[peer].cjdns !== undefined ) + { + archingKaosLog("Checking peer: "+json[peer].cjdns.ip); + checkIfZchainAndProceed(json[peer].node_info, [json[peer].node_info.gpg]); + } + if ( json[peer].yggdrasil !== undefined ) + { + archingKaosLog("Checking peer: "+json[peer].yggdrasil.ip); + checkIfZchainAndProceed(json[peer].node_info, [json[peer].node_info.gpg]); + } } } -function checkLocalPeers(){ +export function seekPeer(value) +{ + archingKaosFetchJSON(`http://[${value}]:8610/v0/node_info`, checkIfZchainAndProceed, ["custom"]); +} + +export function checkLocalPeers() +{ archingKaosLog("🔎 Querying for peers..."); - var url=activeSettings.localAPI+'/v0/peers'; - archingKaosFetchJSON(url, checkPeers); + var url=settings.ak.connect.list[settings.ak.connect.active]+'/v0/peers'; + archingKaosFetchJSON(url, checkPeers, ["localpeers"]); archingKaosLog("Querying for peers... Done!"); } -function checkLocalNodeInfo(){ +export function checkLocalNodeInfo() +{ archingKaosLog("Ringing local bell..."); - var url=activeSettings.localAPI+'/v0/node_info'; + var url=settings.ak.connect.list[settings.ak.connect.active]+'/v0/node_info'; archingKaosFetchJSON(url, checkIfZchainAndProceed, ["localnode"]); archingKaosLog("Ringing local bell... Done!"); } -function checkLocalSchain(){ +export function checkLocalSchain() +{ archingKaosLog("Querying for schain..."); - var url=activeSettings.localAPI+'/v0/slatest'; + debugLog(settings); + var url=settings.ak.connect.list[settings.ak.connect.active]+'/v0/slatest'; + debugLog(url); archingKaosFetchJSON(url, initCrawlSchain); archingKaosLog("Querying for schain... Done!"); } -async function ringlocalbell(){ +async function ringlocalbell() +{ checkLocalNodeInfo(); // checkLocalPeers(); // checkLocalSchain(); |