コード例 #1
0
def random_transaction(api_name, send_account, receive_account):
    '''

	:param api_name:
	:param receive_account:
	:return:
	'''
    logging.info(receive_account)
    price = [
        "0x168000000000000", "0x18800000000", "0x16600000000", '0x1580000000',
        "0x368000000000", "0x66800000000"
    ]
    for i in range(len(receive_account)):
        logging.info(receive_account[i])
        receive_account = np.array(receive_account)
        logging.info(receive_account[i])
        price = price[random.randint(0, len(price) - 1)]
        logging.info(price)
        logging.info("ra:{},reac{},pri{}".format(send_account,
                                                 receive_account[i], price))
        try:
            api_params = [
                send_account, receive_account[i], price, "0x110", "0x30000", ""
            ]
            logging.info("api_params:{} ".format(api_params))
            result = request_Api(api_name, api_params)
        # print("业务需求: 发送交易 transaction of 120,result:{}".format(result))
        except Exception as e:
            logging.info("随机发送多笔交易失败{}".format(e))
            continue
        return result
コード例 #2
0
def create_account_100(peoples=100):
    """
	主业务函数   创建100账户
	:return:
	"""

    api_name = "account_createAccount"
    params = []

    account_all = []
    for i in range(peoples):
        # 用户 xxx
        try:
            response = request_Api(api_name, params)
            print("创建用户:", response)
            result = response["result"]
            # sleep(2)
            account_all.append(result)
        except Exception as e:
            print("账户创建失败!".format(e))
            sleep(3)
            print("账户创建失败!".format(e))
            continue
    print(account_all)
    return account_all
コード例 #3
0
def sendRawTransaction(api_name, params):
	try:
		transfer_result = request_Api(api_name, params)
		result = transfer_result["results"]
		print("交易池返回结果:{}".format(result))
		logging.info("交易池返回结果:{}".format(result))
	except Exception as e:
		print("交易池返回错误:{}".format(e))
コード例 #4
0
def getCreditDetails(api_name, params):
    '''
	获得投票信息,查询投票信息
	curl http://localhost:15645 -X POST --data '{"jsonrpc":"2.0","method":"chain_getCreditDetails","params":["0x0ad472fd967eb77fb6e36ec40901790065155d5e"], "id": 3}' -H "Content-Type:application/json"
	:param api_name: chain_getVoteCreditDetails
	:param params: 参数为to的地址,查询的投票的地址
	:return: 1.投票信息 2.质押信息
	'''
    result = request_Api(api_name, params)
    print("投票信息返回为{}".format(result))
コード例 #5
0
def cancelCandidateCredit(api_name, params):
	'''
	 #取消质押  可以查log
	curl -H "Content-Type: application/json" -X post --data '{"jsonrpc":"2.0","method":"account_cancelCandidateCredit","params":["0x0ad472fd967eb77fb6e36ec40901790065155d5e","0x2386f26fc10000","0x110","0x30000",""],"id":1}' http://127.0.0.1:15645
	:param api_name:
	:param params:
	:return:交易哈希
	'''
	result = request_Api(api_name, params)
	print(result)
コード例 #6
0
def getCancelCreditDetails(api_name, params):
	'''
	#获取取消质押详情  可以查log
	curl http://localhost:15645 -X POST --data '{"jsonrpc":"2.0","method":"chain_getCancelCreditDetails","params":["0x0ad472fd967eb77fb6e36ec40901790065155d5e"], "id": 3}' -H "Content-Type:application/json"
	:param api_name:
	:param params:
	:return: 交易详情list,取消的列表 流水
	'''
	result = request_Api(api_name, params)
	print("获取取消质押详情,{}".format(result))
コード例 #7
0
def cancelVoteCredit(api_name, params):
    '''
	#撤销投票
	curl -H "Content-Type: application/json" -X post --data '{"jsonrpc":"2.0","method":"account_cancelVoteCredit","params":["0x300fc5a14e578be28c64627c0e7e321771c58cd4","0x0ad472fd967eb77fb6e36ec40901790065155d5e","0xf4240","0x110","0x30000"],"id":1}' http://127.0.0.1:15645
	:param api_name:account_cancelVoteCredit
	:param params: fromd地址,to地址,金额,gas价格,手续费
	:return:交易hash
	'''
    result = request_Api(api_name, params)
    print("撤销投票结果返回为{}".format(result))
コード例 #8
0
def getPoolTransactions(api_name, params):
	'''
	获取交易池中的交易信息
	:param api_name:
	:param params: 待查询地址
	:return: 交易池中所有交易
	示例代码
	curl http://localhost:15645 -X POST --data '{"jsonrpc":"2.0","method":"blockmgr_getPoolTransactions","params":["0x8a8e541ddd1272d53729164c70197221a3c27486"], "id": 3}' -H "Content-Type:application/json"
	'''
	result = request_Api(api_name, params)
	print(result)
コード例 #9
0
def unlock(api_name, unlock_account):
    '''
	account_account_unlockAccount
	解锁账号
	:param api_name:
	:param params:
	:return:
	'''
    result = request_Api(api_name, unlock_account)
    print(result)
    logging.info("账号{}解锁成功{}".format(api_name, result))
コード例 #10
0
def lock(api_name, lock_account):
    '''
	account_lockAccount
	锁定账号
	:param api_name: account_lockAccount
	:param params:
	:return:
	'''

    result = request_Api(api_name, lock_account)
    print(result)
    logging.info("账号{}锁住成功{}".format(api_name, result))
コード例 #11
0
def getLogs(api_name, params):
    '''
	根据txhash获取交易log信息
	示例代码
	curl http://localhost:15645 -X POST --data '{"jsonrpc":"2.0","method":"chain_getLogs","params":["0x7d9dd32ca192e765ff2abd7c5f8931cc3f77f8f47d2d52170c7804c2ca2c5dd9"], "id": 3}' -H "Content-Type:application/json"

	:param api_name:
	:param params: txhash 交易哈希
	:return: []log
	'''
    result = request_Api(api_name, params)
    print(result)
コード例 #12
0
def candidateCredit(api_name, params):
    '''
	质押成为候选节点 ,候选节点质押
    curl -H "Content-Type: application/json" -X post --data '{"jsonrpc":"2.0","method":"account_candidateCredit","params":["0x12d11931447fa47827198c37e838feb52e41e0c9","0x23","0x110","0x30000","{\"Pubkey\":\"0x02e2122ea24230a23dbcaa7f65b268740e29aef65a2deb5bf9c81ec6745d44eafa\",\"Node\":\"192.168.31.51:44444\"}"],"id":1}' http://127.0.0.1:35645
	:param api_name:
	:param params:
	:return: 交易hash
	'''
    try:
        result = request_Api(api_name, params)
        print("质押成为候选节点,返回值为{}".format(result))
    except Exception as e:
        print("质押成为候选节点报错,{}".format(e))
コード例 #13
0
def voteCredit(api_name, params):
    '''
	投票
	curl -H "Content-Type: application/json" -X post --data '{"jsonrpc":"2.0","method":"account_voteCredit","params":["0x300fc5a14e578be28c64627c0e7e321771c58cd4","0x0ad472fd967eb77fb6e36ec40901790065155d5e","0xf4240","0x110","0x30000"],"id":1}' http://127.0.0.1:15645
	:param api_name:
	:param params:投票参数from地址与to地址 投多少钱 gas价格 手续费
	:return:交易hash
	'''
    try:
        result = request_Api(api_name, params)
        print("投票api返回值为{}".format(result))
    except Exception as e:
        print("投票api返回错误:{}".format(e))
コード例 #14
0
def create_account(api_name, params):
    """
	主业务函数   创建单账户
	:return:
	"""
    people = 1
    logging.info("业务需求: 创建一个账户 account_createAccount")
    try:
        result = request_Api(api_name, params)
        result = result["result"]
    except Exception as e:
        logging.info(e)
        return -1  #调用接口报错
    return result
コード例 #15
0
def blockmgrGetTxInPool(api_name, params):
    '''
	获得在交易池中的交易
	:param api_name:
	:param params:
	:return:
	'''
    try:
        pool = request_Api(api_name, params)
        pool_result = pool["results"]
        print("交易池返回结果:{}".format(pool_result))
        logging.info("交易池返回结果:{}".format(pool_result))
    except Exception as e:
        print("交易池返回错误:{}".format(e))
コード例 #16
0
def getTransaction(api_name, params):
    '''
	根据交易hash查询交易详细信息
	params = 交易hash
	curl http://localhost:15645 -X POST --data '{"jsonrpc":"2.0","method":"trace_getTransaction","params":["0x00001c9b8c8fdb1f53faf02321f76253704123e2b56cce065852bab93e526ae2"], "id": 3}' -H "Content-Type:application/json"
	:return: 交易详细信息
	'''
    try:
        transaction = request_Api(api_name, params)
        print(transaction)
        return transaction
    except Exception as e:
        print("根据交易hash查询交易详细信息,api返回错误".format(e))
        logging.info("根据交易hash查询交易详细信息,api返回错误".format(e))
        return -1
コード例 #17
0
def creat_one_wallet_account(name, params):
	'''
	
	:param name: api名字
	:param params: api参数
	:return: 创建的一个钱包地址
	'''
	try:
		address = request_Api(name, params)
		print(address)
		address = address['result']
		print("result:{}".format(address))
		return address
	except Exception as e:
		print(e)
	return None
コード例 #18
0
def getReceiveTransactionByAd(api_name, params):
    '''
	根据地址查询该交易接受的交易,支持分页
	e.g:
	curl http://localhost:15645 -X POST --data '{"jsonrpc":"2.0","method":"trace_getReceiveTransactionByAddr","params":["0x3ebcbe7cb440dd8c52940a2963472380afbb56c5",1,10], "id": 3}' -H "Content-Type:application/json"
	:param api_name:
	:param params:  1. 交易地址; 2. 分页号(从1开始)3. 页大小
	:return: 交易列表
	'''
    try:
        reTransaction = request_Api(api_name, params)
        print(reTransaction)
        return reTransaction
    except Exception as e:
        print("根据地址查询该交易接受的交易,支持分页,api返回错误".format(e))
        logging.info("根据地址查询该交易接受的交易,支持分页,api返回错误".format(e))
        return -1
コード例 #19
0
def getSendTransactionByAddr(api_name, params):
    '''
	根据地址查询该交易发出的交易,支持分页,从0开始计数,返回结果中的nonce为交易序号
	e.g:
	curl http://localhost:15645 -X POST --data '{"jsonrpc":"2.0","method":"trace_getSendTransactionByAddr","params":["0x7923a30bbfbcb998a6534d56b313e68c8e0c594a",1,10], "id": 3}' -H "Content-Type:application/json"
	:param api_name:
	:param params:  1. 交易地址 2. 分页号(从1开始)3. 页大小
	:return: 交易列表
	'''
    try:
        seTransaction = request_Api(api_name, params)
        print(seTransaction)
        return seTransaction
    except Exception as e:
        print("根据地址查询该交易发出的交易,支持分页,api返回错误".format(e))
        logging.info("根据地址查询该交易发出的交易,支持分页,api返回错误".format(e))
        return -1
コード例 #20
0
def decodeTrasnaction(api_name, params):
    '''
	把交易字节信息反解析成交易详情
	:e.g
	curl http://localhost:15645 -X POST --data '{"jsonrpc":"2.0","method":"trace_decodeTrasnaction","params":["0x02a7ae20007923a30bbfbcb998a6534d56b313e68c8e0c594a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002011102011003030000bc9889d00b004120eba14c77eab7a154833ff14832d8769cfc0b30db288445d6a83ef2fe337aa09042f8174a593543c4acabe7fadf1ad5fceea9c835682cb9dbea3f1d8fec181fb9"], "id": 3}' -H "Content-Type:application/json"
	:param api_name:
	:param params: 交易字节信息 必须为数组
	:return: 交易详情
	'''
    try:
        deTransaction = request_Api(api_name, params)
        print(deTransaction)
        return deTransaction
    except Exception as e:
        print("把交易字节信息反解析成交易详情,api返回错误".format(e))
        logging.info("把交易字节信息反解析成交易详情,api返回错误".format(e))
        return -1
コード例 #21
0
def getRawTransaction(api_name, params):
    '''
	根据交易hash查询交易字节
	api_name = api_name
	params = 交易hash
	示例代码
	curl http://localhost:15645 -X POST --data '{"jsonrpc":"2.0","method":"trace_getRawTransaction","params":, "id": 3}' -H "Content-Type:application/json"
	:return: 交易字节信息
	'''
    try:
        rawTransaction = request_Api(api_name, params)
        print(rawTransaction)
        return rawTransaction
    except Exception as e:
        print("根据交易hash查询交易字节,api返回错误".format(e))
        logging.info("根据交易hash查询交易字节,api返回错误".format(e))
        return -1
コード例 #22
0
def rebuild(api_name, params):
    '''
	重建trace中的区块记录
	e.g:
	curl http://localhost:15645 -X POST --data '{"jsonrpc":"2.0","method":"trace_rebuild","params":[1,10], "id": 3}' -H "Content-Type:application/json"
	:param api_name:
	:param params:  1. 起始块(包含)2. 终止块(不包含)
	:return:
	'''
    try:
        seTransaction = request_Api(api_name, params)
        print(seTransaction)
        return seTransaction
    except Exception as e:
        print("根据地址查询该交易发出的交易,支持分页,api返回错误".format(e))
        logging.info("根据地址查询该交易发出的交易,支持分页,api返回错误".format(e))
        return -1
コード例 #23
0
def getTransactionCount(api_name, params):
	'''
	获取该地址发出的交易总数
	示例代码
	curl http://localhost:15645 -X POST --data '{"jsonrpc":"2.0","method":"blockmgr_getTransactionCount","params":["0x8a8e541ddd1272d53729164c70197221a3c27486"], "id": 3}' -H "Content-Type:application/json"
	:param api_name:
	:param params:待查询地址
	:return:交易池中所有交易
	'''
	try:
		result = request_Api(api_name, params)
		# print("该地址发出的交易总数api的返回结果{}".format(result))
		result = result["result"]
		print("该地址发出的交易总数为{}".format(result))
		return result
	except Exception as e:
		print("该地址发出的交易总数api的返回结果{}".format(e))
		return -1
コード例 #24
0
def transaction_one(send_account, receive_account, price):
    '''

	:param rootAccount: 发送账户
	:param receive_account: 接收账户
	:return: 1个账户的交易结果
	'''

    api_name = "account_transfer"
    try:
        api_params = [
            send_account, receive_account, price, "0x110", "0x30000", ""
        ]
        result = request_Api(api_name, api_params)
        result = result['result']
    except:
        print("发送一笔交易失败{}".format(result))
        logging.info("发送一笔交易失败{}".format(result))
        return -1
    return result
コード例 #25
0
def account_setAlias(set_account, set_name):
    params = [set_account, set_name, "0x110", "0x30000"]  # api参数
    result = request_Api("account_setAlias", params)
    return result