Пример #1
0
    def test_00_setup(self):
        print("\n-----", sys._getframe().f_code.co_name, "-----")
        print("domain_id =", binascii.b2a_hex(domain_id))

        keypair = bbclib.KeyPair()
        keypair.generate()
        keyname = domain_id.hex() + ".pem"
        try:
            os.mkdir(".bbc1")
        except:
            pass
        with open(os.path.join(".bbc1", keyname), "wb") as f:
            f.write(keypair.get_private_key_in_pem())

        global msg_processor
        prepare(core_num=core_num, client_num=client_num, loglevel=LOGLEVEL)
        for i in range(core_num):
            start_core_thread(index=i, core_port_increment=i)
            time.sleep(0.1)
            domain_setup_utility(i, domain_id)  # system administrator
        time.sleep(1)
        for i in range(client_num):
            msg_processor[i] = MessageProcessor(index=i)
            make_client(index=i,
                        core_port_increment=i,
                        callback=msg_processor[i])
        time.sleep(1)

        global cores, clients
        cores, clients = get_core_client()
Пример #2
0
def make_client(index,
                core_port_increment,
                callback=None,
                connect_to_core=True,
                domain_id=None,
                id_length=bbclib.DEFAULT_ID_LEN):
    keypair = bbclib.KeyPair()
    keypair.generate()
    clients[index]['user_id'] = bbclib.get_new_id("user_%i" %
                                                  index)[:id_length]
    clients[index]['keypair'] = keypair
    clients[index]['app'] = bbc_app.BBcAppClient(port=DEFAULT_CORE_PORT +
                                                 core_port_increment,
                                                 multiq=False,
                                                 id_length=id_length)
    if connect_to_core:
        if domain_id is None:
            global common_domain_id
            domain_id = common_domain_id
        clients[index]['app'].set_user_id(clients[index]['user_id'])
        clients[index]['app'].set_domain_id(domain_id)
    if callback is not None:
        clients[index]['app'].set_callback(callback)
    working_dir = ".bbc1-%i/" % (DEFAULT_CORE_PORT + core_port_increment)
    time.sleep(0.1)
    print("[%i] user_id = %s" %
          (index, binascii.b2a_hex(clients[index]['user_id'])))
Пример #3
0
def make_client_direct(index, host, port, callback=None, domain_id=None, id_length=bbclib.DEFAULT_ID_LEN):
    keypair = bbclib.KeyPair()
    keypair.generate()
    clients[index]['user_id'] = bbclib.get_new_id("user_%i" % index)[:id_length]
    clients[index]['keypair'] = keypair
    clients[index]['app'] = bbc_app.BBcAppClient(host=host, port=port, multiq=False, id_length=id_length)
    if domain_id is None:
        global common_domain_id
        domain_id = common_domain_id
    clients[index]['app'].set_user_id(clients[index]['user_id'])
    clients[index]['app'].set_domain_id(domain_id)
    if callback is not None:
        clients[index]['app'].set_callback(callback)
    time.sleep(0.1)
    print("[%i] user_id = %s" % (index, binascii.b2a_hex(clients[index]['user_id'])))
Пример #4
0
CURVE_TYPE = bbclib.KeyType.ECDSA_SECP256k1

core_num = 3
client_num = 3
cores = None
clients = None
domain_id = bbclib.get_new_id("testdomain")
asset_group_id = bbclib.get_new_id("asset_group_1")[:bbclib.DEFAULT_ID_LEN]
transaction = None
txid = None
user_id1 = bbclib.get_new_id("destination_id_test1")[:bbclib.DEFAULT_ID_LEN]
txid1 = bbclib.get_new_id("dummy_txid_1")[:bbclib.DEFAULT_ID_LEN]

result_queue = queue.Queue()
keypair = bbclib.KeyPair(curvetype=CURVE_TYPE)
keypair.generate()


def wait_results(count):
    total = 0
    for i in range(count):
        total += result_queue.get()
    return total


def dummy_send_message(data):
    print("[Core] recv=%s" % data)
    if KeyType.reason in data:
        result_queue.put(0)
    else:
Пример #5
0
    usage = 'python {} [-a <string>] [--coreport <number>] [-l <number>] [-c <number>] [--help]'.format(__file__)
    argparser = ArgumentParser(usage=usage)
    argparser.add_argument('-a', '--address', type=str, default='localhost', help='bbc_core address')
    argparser.add_argument('--port', type=int, default=9000, help='bbc_core port')
    argparser.add_argument('-l', '--loop', type=int, default=1000, help='loop count')
    argparser.add_argument('-c', '--clients', type=int, default=3, help='loop count')
    argparser.add_argument('-t', '--type', type=int, default=0, help='format_type')
    args = argparser.parse_args()
    return args


if __name__ == "__main__":
    parsed_args = parser()
    for i in range(parsed_args.clients):
        user_ids.append(bbclib.get_new_id("user_id_%d" % i)[:bbclib.DEFAULT_ID_LEN])
        keypairs.append(bbclib.KeyPair())
        keypairs[i].generate()

    app = bbc_app.BBcAppClient(host=parsed_args.address, port=parsed_args.port, multiq=False, id_length=bbclib.DEFAULT_ID_LEN)

    app.set_user_id(user_ids[0])
    app.register_to_core()
    app.set_domain_id(domain_id)
    app.domain_setup(domain_id)
    dat = app.callback.synchronize()

    print("***** format_type = %d ******" % parsed_args.type)
    txobjs = make_transactions(fmt=parsed_args.type, count=parsed_args.loop)

    insert_transactions(app, txobjs)
import subprocess
import pprint
import sys
sys.path.extend(["../"])
from bbc_simple.core import bbclib
from bbc_simple.core import bbc_stats
from bbc_simple.core.data_handler import DataHandler

user_id1 = bbclib.get_new_id("destination_id_test1")[:bbclib.DEFAULT_ID_LEN]
user_id2 = bbclib.get_new_id("destination_id_test2")[:bbclib.DEFAULT_ID_LEN]
domain_id = bbclib.get_new_id("test_domain")
asset_group_id1 = bbclib.get_new_id("asset_group_1")[:bbclib.DEFAULT_ID_LEN]
asset_group_id2 = bbclib.get_new_id("asset_group_2")[:bbclib.DEFAULT_ID_LEN]
txid1 = bbclib.get_new_id("dummy_txid_1")[:bbclib.DEFAULT_ID_LEN]
txid2 = bbclib.get_new_id("dummy_txid_2")[:bbclib.DEFAULT_ID_LEN]
keypair1 = bbclib.KeyPair()
keypair1.generate()

transactions = list()

data_handler = None
config = {
    "domains": {
        bbclib.convert_id_to_string(domain_id): {
            "db": {
                "db_addr": "127.0.0.1",
                "db_port": 3306,
                "db_user": "******",
                "db_pass": "******",
                "db_rootpass": "******",
            },
Пример #7
0
LOGLEVEL = 'debug'
LOGLEVEL = 'info'

core_num = 3
client_num = 3
cores = None
clients = None
domain_id = bbclib.get_new_id("testdomain")
asset_group_id = bbclib.get_new_id("asset_group_1")[:bbclib.DEFAULT_ID_LEN]
transaction = None
txid = None
user_id1 = bbclib.get_new_id("destination_id_test1")[:bbclib.DEFAULT_ID_LEN]
txid1 = bbclib.get_new_id("dummy_txid_1")[:bbclib.DEFAULT_ID_LEN]

result_queue = queue.Queue()
keypair = bbclib.KeyPair()
keypair.generate()


def wait_results(count):
    total = 0
    for i in range(count):
        total += result_queue.get()
    return total


def dummy_send_message(data):
    print("[Core] recv=%s" % data)
    if KeyType.reason in data:
        result_queue.put(0)
    else: