X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=p2pool%2Fweb.py;h=3eafa1bc4ec8408e7d5e66fb930ee4c76dde8a63;hb=94daecfc590dd691a482469a313932809d338738;hp=a0060c89bd4f05a33bc933546ffd6f9e746411a1;hpb=b198ed69b91d8dd24c16e41baa7186e2d7f10f59;p=p2pool.git diff --git a/p2pool/web.py b/p2pool/web.py index a0060c8..3eafa1b 100644 --- a/p2pool/web.py +++ b/p2pool/web.py @@ -13,7 +13,7 @@ from twisted.web import resource, static import p2pool from bitcoin import data as bitcoin_data from . import data as p2pool_data -from util import deferred_resource, graph, math +from util import deferred_resource, graph, math, pack def _atomic_read(filename): try: @@ -44,7 +44,7 @@ def _atomic_write(filename, data): os.remove(filename) os.rename(filename + '.new', filename) -def get_web_root(tracker, bitcoind_work, get_current_txouts, datadir_path, net, get_stale_counts, my_pubkey_hash, local_rate_monitor, worker_fee, p2p_node, my_share_hashes, pseudoshare_received, share_received, best_share_var, bitcoin_warning_var, traffic_happened): +def get_web_root(tracker, bitcoind_work, get_current_txouts, datadir_path, net, get_stale_counts, my_pubkey_hash, local_rate_monitor, worker_fee, p2p_node, my_share_hashes, pseudoshare_received, share_received, best_share_var, bitcoin_warning_var, traffic_happened, donation_percentage): start_time = time.time() web_root = resource.Resource() @@ -176,6 +176,7 @@ def get_web_root(tracker, bitcoind_work, get_current_txouts, datadir_path, net, attempts_to_block=bitcoin_data.target_to_average_attempts(bitcoind_work.value['bits'].target), block_value=bitcoind_work.value['subsidy']*1e-8, warnings=p2pool_data.get_warnings(tracker, best_share_var.value, net, bitcoin_warning_var.value, bitcoind_work.value), + donation_proportion=donation_percentage/100, ) class WebInterface(deferred_resource.DeferredResource): @@ -217,7 +218,12 @@ def get_web_root(tracker, bitcoind_work, get_current_txouts, datadir_path, net, )))) web_root.putChild('peer_versions', WebInterface(lambda: dict(('%s:%i' % peer.addr, peer.other_sub_version) for peer in p2p_node.peers.itervalues()))) web_root.putChild('payout_addr', WebInterface(lambda: bitcoin_data.pubkey_hash_to_address(my_pubkey_hash, net.PARENT))) - web_root.putChild('recent_blocks', WebInterface(lambda: [dict(ts=s.timestamp, hash='%064x' % s.header_hash) for s in tracker.get_chain(best_share_var.value, min(tracker.get_height(best_share_var.value), 24*60*60//net.SHARE_PERIOD)) if s.pow_hash <= s.header['bits'].target])) + web_root.putChild('recent_blocks', WebInterface(lambda: [dict( + ts=s.timestamp, + hash='%064x' % s.header_hash, + number=pack.IntType(24).unpack(s.share_data['coinbase'][1:4]), + share='%064x' % s.hash, + ) for s in tracker.get_chain(best_share_var.value, min(tracker.get_height(best_share_var.value), 24*60*60//net.SHARE_PERIOD)) if s.pow_hash <= s.header['bits'].target])) web_root.putChild('uptime', WebInterface(lambda: time.time() - start_time)) web_root.putChild('stale_rates', WebInterface(lambda: p2pool_data.get_stale_counts(tracker, best_share_var.value, 720, rates=True)))