let button = document.getElementsByTagName('button')[0]; button.addEventListener('click',getblock,false); function getblock() { let n = document.getElementsByName('n').value; let hash = document.getElementsByName('hash').value; let addr = document.getElementsByName('addr').value; let query = []; if (n != '') { query.push(`n=${n}`) } else if (hash != '') { query.push(`hash=${hash}`) } else if (addr != '') { query.push(`addr=${addr}`) } document.getElementById('comment').innerText = ''; let promised = fetch(api_url + 'getblock?' + query.join('&')). then(resp => resp.json()). then(obj => { let elem; let payload_value = obj.bkcontent.data.payload; let payload_url = `/api/getblock?addr=${obj.bkaddr}` if (payload_value.match('/ipfs/')) { payload_url = 'https://ipfs.blockringtm.ml'+ payload_value } else if (payload_value.match('/https?:|\.htm/')) { payload_url = payload_value; } let payload_link = `${payload_value}`; document.getElementsByName('hash')[0].value = obj.bkhash; document.getElementsByName('addr')[0].value = obj.bkaddr; document.getElementById('prev').innerHTML = `${obj.bkprev}`; document.getElementById('seq').innerText = obj.bkcontent.data.seq; document.getElementById('payload').innerHTML = payload_link; document.getElementById('comment').innerText = obj.bkcontent.data.comment; document.getElementById('txroot').innerText = obj.bkcontent.meta.txroot || '?'; document.getElementById('hash').innerText = obj.bkhash document.getElementById('pow').innerText = obj.pow document.getElementById('api').innerHTML = `(json)`; elem = document.getElementById('json'); elem.innerText = JSON.stringify(obj); let bkcontent = obj.bkcontent; let txmerkle = bkcontent.txmeta.merkle if (typeof(txmerkle) != 'undefined') { let list = ''; elem = document.getElementById('list'); elem.innerHTML = list; } return obj; }). catch(console.error); promised.then(obj => { console.log('obj:',obj); return obj; }); } // ---------------------------------------------------- async function getnodes() { let config = await fetch(api_url + 'config'). then(resp => resp.json()). then(obj => { return obj.config }). catch(console.error); console.log('nodes.config:',config); let n = 1; let list = ''; let elem = document.getElementById('list'); elem.innerHTML = list; return nodes; } function get_info(node) { let [ip,port] = node.split(':'); let remote_api_url = `http://${node}${api_url}`; let promised = fetch(remote_api_url + 'getinfo'). then(resp => resp.json). then(obj => { let info = obj.info; return info; }). catch(console.error); return promised; } console.log('heads.js loaded');