diff --git a/bcos3sdk/bcos3sdk_wrap.py b/bcos3sdk/bcos3sdk_wrap.py index 948b3d8069c442ba2209d33e692131ee4510acf1..d4bfac0d57d1ca976ba76253d664446919f71df8 100644 --- a/bcos3sdk/bcos3sdk_wrap.py +++ b/bcos3sdk/bcos3sdk_wrap.py @@ -286,6 +286,52 @@ class NativeBcos3sdk: c_void_p, c_char_p, c_char_p, c_char_p, c_long] self.bcos_amop_send_response = self.nativelib.bcos_amop_send_response + # KeyPair 接口 + # void* bcos_sdk_create_keypair(int crypto_type); 1: ecdsa 2: sm + self.nativelib.bcos_sdk_create_keypair.argtypes = [c_int] + self.nativelib.bcos_sdk_create_keypair.restype = c_void_p + self.bcos_sdk_create_keypair = self.nativelib.bcos_sdk_create_keypair + + # void* bcos_sdk_load_keypair(const char* pem_path); + self.nativelib.bcos_sdk_load_keypair.argtypes = [c_char_p] + self.nativelib.bcos_sdk_load_keypair.restype = c_void_p + self.bcos_sdk_load_keypair = self.nativelib.bcos_sdk_load_keypair + + # void bcos_sdk_destroy_keypair(void* key_pair); + self.nativelib.bcos_sdk_destroy_keypair.argtypes = [c_void_p] + self.bcos_sdk_destroy_keypair = self.nativelib.bcos_sdk_destroy_keypair + + # const char* bcos_sdk_get_keypair_address(void* key_pair); + self.nativelib.bcos_sdk_get_keypair_address.argtypes = [c_void_p] + self.nativelib.bcos_sdk_get_keypair_address.restype = c_char_p + self.bcos_sdk_get_keypair_address = self.nativelib.bcos_sdk_get_keypair_address + + # const char* bcos_sdk_get_keypair_public_key(void* key_pair); + self.nativelib.bcos_sdk_get_keypair_public_key.argtypes = [c_void_p] + self.nativelib.bcos_sdk_get_keypair_public_key.restype = c_char_p + self.bcos_sdk_get_keypair_public_key = (self.nativelib.bcos_sdk_get_keypair_public_key) + + # const char* bcos_sdk_get_keypair_private_key(void* key_pair); + self.nativelib.bcos_sdk_get_keypair_private_key.argtypes = [c_void_p] + self.nativelib.bcos_sdk_get_keypair_private_key.restype = c_char_p + self.bcos_sdk_get_keypair_private_key = (self.nativelib.bcos_sdk_get_keypair_private_key) + + # 编码交易 + # const char* bcos_sdk_create_signed_tx(void* key_pair, const char* to, const char* data, const char* chain_id, const char* group_id, int64_t block_limit); + self.nativelib.bcos_sdk_create_signed_tx.argtypes = [c_void_p,c_char_p,c_char_p,c_char_p,c_char_p,c_int64,] + self.nativelib.bcos_sdk_create_signed_tx.restype = c_char_p + self.bcos_sdk_create_signed_tx = self.nativelib.bcos_sdk_create_signed_tx + + # 群组信息查询 + # void bcos_sdk_get_group_wasm_and_crypto(void* sdk, const char* group, int* wasm, int* sm_crypto); + self.nativelib.bcos_sdk_get_group_wasm_and_crypto.argtypes = [c_void_p,c_char_p,POINTER(c_int),POINTER(c_int),] + self.bcos_sdk_get_group_wasm_and_crypto = (self.nativelib.bcos_sdk_get_group_wasm_and_crypto) + + # const char* bcos_sdk_get_group_chain_id(void* sdk, const char* group); + self.nativelib.bcos_sdk_get_group_chain_id.argtypes = [c_void_p, c_char_p] + self.nativelib.bcos_sdk_get_group_chain_id.restype = c_char_p + self.bcos_sdk_get_group_chain_id = self.nativelib.bcos_sdk_get_group_chain_id + # 启动sdk def start_sdk(self): diff --git a/tests/testbcos3sdk.py b/tests/testbcos3sdk.py index 733f2d967e900a42718015e10ee5d2684d4c58f0..bca269c7a8688921217b7ba872086d8d51befaa9 100644 --- a/tests/testbcos3sdk.py +++ b/tests/testbcos3sdk.py @@ -1,4 +1,5 @@ import sys +import ctypes #sys.path.append("../") sys.path.append("./") import json @@ -14,7 +15,7 @@ from bcos3sdk.bcos3sdk_wrap import NativeBcos3sdk, BCOS_CALLBACK_FUNC, BcosReqCo - +group_id = "group".encode("utf-8") bcossdk = NativeBcos3sdk("./bcos3sdklib/bcos3config.ini") @@ -23,13 +24,33 @@ cbfuture = BcosCallbackFuture(); cb_func = BCOS_CALLBACK_FUNC(cbfuture.bcos_callback) n = 100 +key_pair = bcossdk.bcos_sdk_create_keypair(1) # 1:ecdsa 2:sm + +address = bcossdk.bcos_sdk_get_keypair_address(key_pair) +print(" ==> new key pair, address: {}".format(address)) + +pub = bcossdk.bcos_sdk_get_keypair_public_key(key_pair) +print(" ==> pub: {}".format(address)) + +pri = bcossdk.bcos_sdk_get_keypair_private_key(key_pair) +print(" ==> pri: {}".format(pri)) + +chain_id = bcossdk.bcos_sdk_get_group_chain_id(bcossdk.sdk, group_id) +print(" ==> chain_id: {}".format(chain_id)) + +wasm = ctypes.c_int() +sm_crypto = ctypes.c_int() + +bcossdk.bcos_sdk_get_group_wasm_and_crypto(bcossdk.sdk, group_id, byref(wasm), byref(sm_crypto)) +print(" ==> wasm: {}, sm_crypto: {}".format(wasm, sm_crypto)) + cb_context = BcosReqContext(n, "bcos_rpc_get_block_by_number", "this is test 1332") -bcossdk.bcos_rpc_get_block_by_number(bcossdk.sdk,b"group", None, 1, 1, 1, cb_func, byref(cb_context)) +bcossdk.bcos_rpc_get_block_by_number(bcossdk.sdk, group_id, None, 1, 1, 1, cb_func, byref(cb_context)) cbfuture.wait() cbfuture.display() n=n+1 cb_context = BcosReqContext(n, "bcos_rpc_get_group_node_info", "this is test " + str(n)) -bcossdk.bcos_rpc_get_group_node_info(bcossdk.sdk,b"group",b"", cb_func, byref(cb_context)) +bcossdk.bcos_rpc_get_group_node_info(bcossdk.sdk, group_id,b"", cb_func, byref(cb_context)) cbfuture.wait() cbfuture.display() @@ -41,7 +62,7 @@ cbfuture.wait().display() n=n+1 cb_context = BcosReqContext(n, "bcos_rpc_get_group_info", "this is test " + str(n)) -bcossdk.bcos_rpc_get_group_info(bcossdk.sdk,b"group", cb_func, byref(cb_context)) +bcossdk.bcos_rpc_get_group_info(bcossdk.sdk, group_id, cb_func, byref(cb_context)) resp = cbfuture.wait(2).display() n=n+1 @@ -57,70 +78,70 @@ cbfuture.wait().display() n=n+1 cb_context = BcosReqContext(n, "bcos_rpc_get_group_peers", "this is test " + str(n)) -bcossdk.bcos_rpc_get_group_peers(bcossdk.sdk,b"group", cb_func, byref(cb_context)) +bcossdk.bcos_rpc_get_group_peers(bcossdk.sdk, group_id, cb_func, byref(cb_context)) cbfuture.wait().display() n=n+1 cb_context = BcosReqContext(n, "bcos_rpc_get_total_transaction_count", "this is test " + str(n)) -bcossdk.bcos_rpc_get_total_transaction_count(bcossdk.sdk,b"group", None, cb_func, byref(cb_context)) +bcossdk.bcos_rpc_get_total_transaction_count(bcossdk.sdk, group_id, None, cb_func, byref(cb_context)) cbfuture.wait().display() n=n+1 cb_context = BcosReqContext(n, "bcos_rpc_get_system_config_by_key", "this is test " + str(n)) -bcossdk.bcos_rpc_get_system_config_by_key(bcossdk.sdk,b"group", None,b"key", cb_func, byref(cb_context)) +bcossdk.bcos_rpc_get_system_config_by_key(bcossdk.sdk, group_id, None,b"key", cb_func, byref(cb_context)) cbfuture.wait().display() n=n+1 cb_context = BcosReqContext(n, "bcos_rpc_get_consensus_status", "this is test " + str(n)) -bcossdk.bcos_rpc_get_consensus_status(bcossdk.sdk,b"group", None, cb_func, byref(cb_context)) +bcossdk.bcos_rpc_get_consensus_status(bcossdk.sdk, group_id, None, cb_func, byref(cb_context)) cbfuture.wait().display() n=n+1 cb_context = BcosReqContext(n, "bcos_rpc_get_sync_status", "this is test " + str(n)) -bcossdk.bcos_rpc_get_sync_status(bcossdk.sdk,b"group", None, cb_func, byref(cb_context)) +bcossdk.bcos_rpc_get_sync_status(bcossdk.sdk, group_id, None, cb_func, byref(cb_context)) cbfuture.wait().display() n=n+1 cb_context = BcosReqContext(n, "bcos_rpc_get_pending_tx_size", "this is test " + str(n)) -bcossdk.bcos_rpc_get_pending_tx_size(bcossdk.sdk,b"group", None, cb_func, byref(cb_context)) +bcossdk.bcos_rpc_get_pending_tx_size(bcossdk.sdk, group_id, None, cb_func, byref(cb_context)) cbfuture.wait().display() n=n+1 cb_context = BcosReqContext(n, "bcos_rpc_get_pbft_view", "this is test " + str(n)) -bcossdk.bcos_rpc_get_pbft_view(bcossdk.sdk,b"group", None, cb_func, byref(cb_context)) +bcossdk.bcos_rpc_get_pbft_view(bcossdk.sdk, group_id, None, cb_func, byref(cb_context)) cbfuture.wait().display() n=n+1 cb_context = BcosReqContext(n, "bcos_rpc_get_observer_list", "this is test " + str(n)) -bcossdk.bcos_rpc_get_observer_list(bcossdk.sdk,b"group", None, cb_func, byref(cb_context)) +bcossdk.bcos_rpc_get_observer_list(bcossdk.sdk, group_id, None, cb_func, byref(cb_context)) cbfuture.wait().display() n=n+1 cb_context = BcosReqContext(n, "bcos_rpc_get_sealer_list", "this is test " + str(n)) -bcossdk.bcos_rpc_get_sealer_list(bcossdk.sdk,b"group", None, cb_func, byref(cb_context)) +bcossdk.bcos_rpc_get_sealer_list(bcossdk.sdk, group_id, None, cb_func, byref(cb_context)) cbfuture.wait().display() n=n+1 cb_context = BcosReqContext(n, "bcos_rpc_get_code", "this is test " + str(n)) -bcossdk.bcos_rpc_get_code(bcossdk.sdk,b"group", None,b"0x1001", cb_func, byref(cb_context)) +bcossdk.bcos_rpc_get_code(bcossdk.sdk, group_id, None,b"0x1001", cb_func, byref(cb_context)) cbfuture.wait().display() n=n+1 cb_context = BcosReqContext(n, "bcos_rpc_get_block_number", "this is test " + str(n)) -bcossdk.bcos_rpc_get_block_number(bcossdk.sdk,b"group", None, cb_func, byref(cb_context)) +bcossdk.bcos_rpc_get_block_number(bcossdk.sdk, group_id, None, cb_func, byref(cb_context)) cbfuture.wait().display() n=n+1 cb_context = BcosReqContext(n, "bcos_rpc_get_block_limit", "this is test " + str(n)) -l = bcossdk.bcos_rpc_get_block_limit(bcossdk.sdk,b"group") +l = bcossdk.bcos_rpc_get_block_limit(bcossdk.sdk,group_id) print("blocklimit ",l) @@ -129,33 +150,33 @@ print("blocklimit ",l) n=n+1 cb_context = BcosReqContext(n, "bcos_rpc_get_block_hash_by_number", "this is test " + str(n)) -bcossdk.bcos_rpc_get_block_hash_by_number(bcossdk.sdk,b"group", None, 1, cb_func, byref(cb_context)) +bcossdk.bcos_rpc_get_block_hash_by_number(bcossdk.sdk, group_id, None, 1, cb_func, byref(cb_context)) cbfuture.wait().display() n=n+1 cb_context = BcosReqContext(n, "bcos_rpc_get_block_by_hash", "this is test " + str(n)) bh = b"0xb92f29d369161c8306342d41f6702d9ce12f0a8898d05b83b08f03b7334f1052" -bcossdk.bcos_rpc_get_block_by_hash(bcossdk.sdk,b"group", None, bh, 0, 0, cb_func, byref(cb_context)) +bcossdk.bcos_rpc_get_block_by_hash(bcossdk.sdk, group_id, None, bh, 0, 0, cb_func, byref(cb_context)) cbfuture.wait().display() n=n+1 cb_context = BcosReqContext(n, "bcos_rpc_get_transaction_receipt", "this is test " + str(n)) th = b"0xc0a367cb5d11f21fd51196e9683cbfc2b8cd33c2e86c559d67142152f5fa7ee5" -bcossdk.bcos_rpc_get_transaction_receipt(bcossdk.sdk,b"group", None, th, 0, cb_func, byref(cb_context)) +bcossdk.bcos_rpc_get_transaction_receipt(bcossdk.sdk, group_id, None, th, 0, cb_func, byref(cb_context)) cbfuture.wait().display() n=n+1 cb_context = BcosReqContext(n, "bcos_rpc_get_transaction", "this is test " + str(n)) th = b"0xc0a367cb5d11f21fd51196e9683cbfc2b8cd33c2e86c559d67142152f5fa7ee5" -bcossdk.bcos_rpc_get_transaction(bcossdk.sdk,b"group", None, th, 0, cb_func, byref(cb_context)) +bcossdk.bcos_rpc_get_transaction(bcossdk.sdk, group_id, None, th, 0, cb_func, byref(cb_context)) cbfuture.wait().display() n=n+1 cb_context = BcosReqContext(n, "bcos_event_sub_subscribe_event", "this is test " + str(n)) -l = bcossdk.bcos_event_sub_subscribe_event(bcossdk.sdk,b"group",b'param', cb_func, byref(cb_context)) +l = bcossdk.bcos_event_sub_subscribe_event(bcossdk.sdk, group_id,b'param', cb_func, byref(cb_context)) print("eventsub ",l) cbfuture.wait().display()