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()
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'])))
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'])))
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:
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": "******", },
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: