store total share count and work within shares
[p2pool.git] / web-static / share.html
index 84d075c..9d53127 100644 (file)
@@ -3,6 +3,7 @@
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
     <head>
         <title>P2Pool Share</title>
+        <link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
         <script type="text/javascript" src="d3.v2.min.js"></script>
     </head>
     <body>
@@ -20,7 +21,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) {
@@ -41,6 +42,7 @@
                     var children = b.append('p');
                         children.append('span').text('Children: ');
                         children.data(share.children).append('a').attr('href', function(c){return '#' + c}).text(function(c){return c.substr(-8)});
+                    b.append('p').text('Type: ' + share.type_name);
                     b.append('h2').text('Local data');
                     b.append('p').text('Verified: ' + share.local.verified);
                     b.append('p').text('Time first seen: ' + new Date(1000*share.local.time_first_seen) + ' (' + share.local.time_first_seen + ')');
                     b.append('p').text('Minimum difficulty: ' + target_to_difficulty(share.share_data.max_target));
                     b.append('p').text('Payout address: ' + share.share_data.payout_address);
                     b.append('p').text('Donation amount: ' + d3.format('.3p')(share.share_data.donation));
-                    b.append('p').text('Stale info: ' + (share.share_data.stale_info == 0 ? 'none' : share.share_data.stale_info == 253 ? 'had an orphan' : share.share_data.stale_info == 254 ? 'had a dead' : 'unknown'));
+                    b.append('p').text('Last stale: ' + share.share_data.stale_info);
                     b.append('p').text('Nonce: ' + share.share_data.nonce);
+                    b.append('p').text('Desired version: ' + share.share_data.desired_version);
+                    b.append('p').text('Absolute height: ' + share.share_data.absheight);
+                    b.append('p').text('Absolute work: ' + share.share_data.abswork);
                     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);
-                    b.append('p').text('Transaction count: ' + share.block.txn_count_range);
+                        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);
                     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));
                     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);
+            });
         </script>
     </body>
 </html>