From: Forrest Voight Date: Thu, 3 May 2012 20:00:20 +0000 (-0400) Subject: made currency symbols and block explorer urls on html pages adapt to parent chain X-Git-Tag: 0.11.2~38 X-Git-Url: https://git.novaco.in/?p=p2pool.git;a=commitdiff_plain;h=3f80f6a180acac5cc68b70f692b7dd3297a21f91 made currency symbols and block explorer urls on html pages adapt to parent chain --- diff --git a/p2pool/web.py b/p2pool/web.py index 673e1a4..ceb8c74 100644 --- a/p2pool/web.py +++ b/p2pool/web.py @@ -295,6 +295,7 @@ def get_web_root(tracker, current_work, current_work2, get_current_txouts, datad new_root.putChild('tails', WebInterface(lambda: ['%064x' % x for t in tracker.tails for x in tracker.reverse_shares.get(t, set())])) new_root.putChild('verified_tails', WebInterface(lambda: ['%064x' % x for t in tracker.verified.tails for x in tracker.verified.reverse_shares.get(t, set())])) new_root.putChild('best_share_hash', WebInterface(lambda: '%064x' % current_work.value['best_share_hash'])) + new_root.putChild('currency_info', WebInterface(lambda: dict(symbol=net.PARENT.SYMBOL, block_explorer_url_prefix=net.PARENT.BLOCK_EXPLORER_URL_PREFIX))) class Explorer(resource.Resource): def render_GET(self, request): diff --git a/web-static/graphs.html b/web-static/graphs.html index edd840a..055897c 100644 --- a/web-static/graphs.html +++ b/web-static/graphs.html @@ -195,7 +195,7 @@ }); } - function change_period(period) { + function change_period(period, currency_info) { d3.select("#period_current").text(period); var lowerperiod = period.toLowerCase(); plot_later(d3.select("#local"), "H/s", "H", [ @@ -206,7 +206,7 @@ {"url": "/web/graph_data/local_share_hash_rate/last_" + lowerperiod, "value_getter": identity, "color": "#0000FF", "label": "Total"}, //{"url": getData("/web/graph_data/local_dead_share_hash_rate/last_" + lowerperiod, "value_getter": identity, "color": "#FF0000", "label": "Dead"} ]); - plot_later(d3.select("#payout"), "BTC", null, [ + plot_later(d3.select("#payout"), currency_info.symbol, null, [ {"url": "/web/graph_data/current_payout/last_" + lowerperiod, "value_getter": identity, "color": "#0000FF"} ]); plot_later(d3.select("#pool"), "H/s", "H", [ @@ -234,7 +234,7 @@ ]); }); div.append("svg:svg").each(function(u) { - plot(d3.select(this), "BTC", null, [ + plot(d3.select(this), currency_info.symbol, null, [ {"data": current_payouts, "value_getter": function(d) { return u in d ? d[u] : null; }, "color": "#0000FF"} ]); }); @@ -260,12 +260,14 @@ }); } - periods = ["Hour", "Day", "Week", "Month", "Year"]; - d3.select("#period_chooser").selectAll().data(periods).enter().append("span") - .text(identity) - .on("click", change_period) - .attr("style", function(d, i) { return (i == 0 ? "" : "margin-left:.4em;") + "color:blue;text-decoration:underline;cursor:pointer" }); - change_period(periods[1]); + d3.json('/web/currency_info', function(currency_info) { + periods = ["Hour", "Day", "Week", "Month", "Year"]; + d3.select("#period_chooser").selectAll().data(periods).enter().append("span") + .text(identity) + .on("click", function(period){ change_period(period, currency_info) }) + .attr("style", function(d, i) { return (i == 0 ? "" : "margin-left:.4em;") + "color:blue;text-decoration:underline;cursor:pointer" }); + change_period(periods[1], currency_info); + }); diff --git a/web-static/index.html b/web-static/index.html index be7f7be..4ae4b21 100644 --- a/web-static/index.html +++ b/web-static/index.html @@ -37,27 +37,32 @@ .attr('style', 'color:red;border:1px solid red;padding:5px'); }); - d3.json('/current_payouts', function(pays) { - d3.json('/payout_addr', function(addr) { - d3.select('#payout_addr').text(addr); - d3.select('#payout_amount').text(addr in pays ? pays[addr] : 0); - }); - - var arr = []; for(var i in pays) arr.push(i); arr.sort(function(a, b){return pays[b] - pays[a]}); + + d3.json('/web/currency_info', function(currency_info) { + d3.selectAll('.symbol').text(currency_info.symbol); - var tr = d3.select('#payouts').selectAll().data(arr).enter().append('tr'); - tr.append('td').append('a').text(function(addr){return addr}).attr('href', function(addr){return 'http://blockexplorer.com/address/' + addr}); - tr.append('td').text(function(addr){return pays[addr]}); + d3.json('/current_payouts', function(pays) { + d3.json('/payout_addr', function(addr) { + d3.select('#payout_addr').text(addr); + d3.select('#payout_amount').text(addr in pays ? pays[addr] : 0); + }); + + var arr = []; for(var i in pays) arr.push(i); arr.sort(function(a, b){return pays[b] - pays[a]}); + + var tr = d3.select('#payouts').selectAll().data(arr).enter().append('tr'); + tr.append('td').append('a').text(function(addr){return addr}).attr('href', function(addr){return currency_info.block_explorer_url_prefix + addr}); + tr.append('td').text(function(addr){return pays[addr]}); + + var total_tr = d3.select('#payouts').append('tr'); + total_tr.append('td').append('strong').text('Total'); + total_tr.append('td').text(d3.sum(arr, function(addr){return pays[addr]}).toFixed(8)); + }); - var total_tr = d3.select('#payouts').append('tr'); - total_tr.append('td').append('strong').text('Total'); - total_tr.append('td').text(d3.sum(arr, function(addr){return pays[addr]}).toFixed(8)); - }); - - d3.json('/recent_blocks', function(blocks) { - var tr = d3.select('#blocks').selectAll().data(blocks).enter().append('tr'); - tr.append('td').text(function(block){return new Date(1000*block.ts).toString()}) - tr.append('td').append('a').text(function(block){return block.hash}).attr('href', function(block){return 'http://blockexplorer.com/block/' + block.hash}); + d3.json('/recent_blocks', function(blocks) { + var tr = d3.select('#blocks').selectAll().data(blocks).enter().append('tr'); + tr.append('td').text(function(block){return new Date(1000*block.ts).toString()}) + tr.append('td').append('a').text(function(block){return block.hash}).attr('href', function(block){return currency_info.block_explorer_url_prefix + block.hash}); + }); }); d3.json('/web/best_share_hash', function(c) { @@ -83,8 +88,8 @@

Node uptime: days Peers: out, in

Local rate: ( DOA)

Shares: total ( orphaned, dead) Efficiency:

-

Payout if a block were found NOW: BTC to

-

Current block value: BTC

+

Payout if a block were found NOW: to

+

Current block value:

Share explorer

@@ -102,7 +107,7 @@

Payouts if a block were found NOW:

- +
addressamount in BTC
addressamount in
diff --git a/web-static/share.html b/web-static/share.html index 84d075c..160e99a 100644 --- a/web-static/share.html +++ b/web-static/share.html @@ -20,7 +20,7 @@ function target_to_difficulty(target) { return (0xffff0000 * Math.pow(2, 256-64) + 1)/(target + 1); } var current_hash = null; - function reload() { + function reload(currency_info) { var share_hash = document.location.hash.substr(1); if(share_hash == current_hash) return; d3.json('/web/share/' + share_hash, function(share) { @@ -56,13 +56,13 @@ b.append('h2').text('Block'); var block = b.append('p') block.append('span').text('Hash: ') - block.append('a').attr('href', 'http://blockexplorer.com/block/' + share.block.hash).text(share.block.hash); + block.append('a').attr('href', currency_info.block_explorer_url_prefix + share.block.hash).text(share.block.hash); b.append('p').text('Transaction count: ' + share.block.txn_count_range); b.append('h2').text('Header'); b.append('p').text('Version: ' + share.block.header.version); var prevblock = b.append('p') prevblock.append('span').text('Previous block: '); - prevblock.append('a').attr('href', 'http://blockexplorer.com/block/' + share.block.header.previous_block).text(share.block.header.previous_block); + prevblock.append('a').attr('href', currency_info.block_explorer_url_prefix + share.block.header.previous_block).text(share.block.header.previous_block); b.append('p').text('Merkle root: ' + share.block.header.merkle_root); b.append('p').text('Timestamp: ' + share.block.header.timestamp); b.append('p').text('Difficulty: ' + target_to_difficulty(share.block.header.target)); @@ -70,12 +70,15 @@ b.append('h2').text('Generation transaction'); b.append('p').text('Hash: ' + share.block.gentx.hash); b.append('p').text('Coinbase: ' + share.block.gentx.coinbase + ' ' + hex2a(share.block.gentx.coinbase)); - b.append('p').text('Value: ' + share.block.gentx.value + ' BTC'); + b.append('p').text('Value: ' + share.block.gentx.value + ' ' + currency_info.symbol); return true; }); } - reload(); - setInterval(reload, 100); + + d3.json('/web/currency_info', function(currency_info) { + reload(currency_info); + setInterval(function(){ reload(currency_info) }, 100); + });