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,
Esempio n. 2
0
#!/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
Esempio n. 3
0
    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))