import argparse import json from flask import Flask, render_template, request from tinydb import TinyDB, Query import os, sys sys.path.insert(1, os.path.realpath(os.path.join(os.path.pardir, "lib"))) import mobilecoin MOB = 1_000_000_000_000 WINNING_AMOUNT = 10_000 * MOB # Load defaults to make available to app. Override in __main__. mobilecoind = mobilecoin.Client('localhost:4444', False) db = TinyDB('/tmp/players.json') credentials = None app = Flask(__name__) def command_args(): parser = argparse.ArgumentParser(description='PizzaMOB Leaderboard') parser.add_argument('--entropy', type=str, required=True, help='Entropy for PizzaMOB account.') parser.add_argument('--port', type=int, required=False, default=5000,
#!/usr/bin/env python3 # -*- coding: utf-8 -*- # Copyright (c) 2018-2022 The MobileCoin Foundation """ measure mobilecoind performance """ import time, datetime import os, sys sys.path.insert(1, os.path.realpath(os.path.join(os.path.pardir, "lib"))) import mobilecoin if __name__ == '__main__': # Connect to mobilecoind mobilecoind = mobilecoin.Client("localhost:4444", ssl=False) # If the ledger db has been recently cleaned, we can get a sense for our average download rate (ledger_is_behind, local_count, remote_count, blocks_per_second) = mobilecoind.wait_for_ledger() if ledger_is_behind: print("\n...testing ledger download rate while downloading {} blocks". format(remote_count - local_count)) accum_count = 0 accum_rate_times_count = 0 prev_local_count = local_count start = datetime.datetime.now() while ledger_is_behind: (ledger_is_behind, local_count, remote_count, blocks_per_second) = mobilecoind.wait_for_ledger( max_blocks_to_sync=1000, timeout_seconds=10) delta = local_count - prev_local_count
num_blocks = ledger_info_response.block_count num_transactions = ledger_info_response.txo_count block_num = int(block_num) if block_num < 0 or block_num >= num_blocks: return render_template('block404.html', block_num=block_num, num_blocks=num_blocks) block = client.get_block(block_num) size_of_block = sys.getsizeof(block) for signature in block.signatures: signature.src_url = signature.src_url.split('/')[-2] return render_template('block.html', block_num=block_num, block_hash=block.block.contents_hash.data, key_image_count=len(block.key_images), txo_count=len(block.txos), txos=block.txos, key_images=block.key_images, size_of_block=size_of_block, signatures=block.signatures) if __name__ == "__main__": args = command_args() client = mobilecoin.Client( args.mobilecoind_host + ':' + str(args.mobilecoind_port), False) app.run(host='0.0.0.0', port=str(args.port))