def get(self): btc_rpc_connection = AuthServiceProxy(RPC_URL) try: blkhash = self.get_argument("blkhash") if self.get_argument( "blkhash") else BTC_GetBlockCount.process(btc_rpc_connection) commands = [["getblock"]] data = btc_rpc_connection.batch_(commands) self.write( json.dumps(BaseHandler.success_ret_with_data(data), default=decimal_default)) except Exception as e: self.write( json.dumps(BaseHandler.error_ret_with_data("error: %s" % e))) logging.error("BTC_GetBlockHash error:{0} in {1}".format( e, get_linenumber()))
def post(self): btc_rpc_connection = AuthServiceProxy(RPC_URL) try: rawdata = self.get_argument("rawdata") if not rawdata: return commands = [["sendrawtransaction", rawdata]] data = btc_rpc_connection.batch_(commands) self.write( json.dumps(BaseHandler.success_ret_with_data(data), default=decimal_default)) except Exception as e: self.write( json.dumps(BaseHandler.error_ret_with_data("error: %s" % e))) logging.error("BTC_SendRawTransaction error:{0} in {1}".format( e, get_linenumber()))
def post(self): rpcconn = USDPProxy(g_IP, g_PORT) try: nBlockNum = self.get_argument("blkNumber") data = USDP_GetTransactionFromBlock.getTransactionFromBlock( rpcconn, nBlockNum) self.write( json.dumps(BaseHandler.success_ret_with_data(data), default=decimal_default)) except Exception as e: self.write( json.dumps(BaseHandler.error_ret_with_data("error: %s" % e))) logging.error( "USDP_GetTransactionFromBlock : error:{0} in {1}".format( e, get_linenumber()))
def get(self): try: rpcconn = AuthServiceProxy(RPC_URL) data = BTC_EstimateSmartFee.calcFee(rpcconn) data = '%.8f' % data self.write( json.dumps(BaseHandler.success_ret_with_data(data), default=decimal_default)) except Exception as e: self.write( json.dumps(BaseHandler.error_ret_with_data("error: %s" % e))) logging.error("BTC_EstimateSmartFee error:{0} in {1}".format( e, get_linenumber())) pass
def post(self): try: address = self.get_argument("address") if len(address) != 56: raise Exception("invalid address, must be 56 byte") data = XLM_GetAccountInfo.process(address=address) self.write( json.dumps(BaseHandler.success_ret_with_data(data), default=decimal_default)) except Exception as e: self.write( json.dumps(BaseHandler.error_ret_with_data("error: %s" % e))) logging.error("XLM_GetAccountInfo():", e) pass
def post(self): try: # symbol = self.get_argument('symbol') # if str(symbol) not in ['TRX', 'TRC20-USDT']: # raise Exception("invalid symbol") retdata = self.process(symbol='TRX') self.write( json.dumps(BaseHandler.success_ret_with_data(retdata), default=decimal_default)) pass except Exception as e: self.write( json.dumps(BaseHandler.error_ret_with_data("error: %s" % e))) logging.error(" TRX_CollectionQuery error:{0} in {1}".format( e, get_linenumber()))
def post(self): btc_rpc_connection = AuthServiceProxy(BTC_RPC_URL)#todo-junying-20190310 try: from_addr = self.get_argument("from") if self.get_argument("from") else '2N8jq3e7eBhrrd9d1dMNCvkwtsvN9md2Hmd' to_addr = self.get_argument("to") if self.get_argument("to") else '2MzrgJmFfHB1mz4QqwuSWePbb183TxHR1wA' #amount = float(self.get_argument("amount")) from decimal import Decimal amount = Decimal(str(self.get_argument("amount"))) ret, rsp = BTC_CreateRawTransaction.process(btc_rpc_connection,from_addr,to_addr,amount) if not ret: self.write(json.dumps(BaseHandler.error_ret_with_data(rsp))) return self.write(json.dumps(BaseHandler.success_ret_with_data(rsp), default=decimal_default)) except Exception as e: self.write(json.dumps(BaseHandler.error_ret_with_data("error: %s"%e))) print("BTC_CreatRawTransaction error:{0} in {1}".format(e,get_linenumber()))
def get(self): rpc_connection = OrientWaltProxy(ip_addr, port) try: blknumber = int(self.get_argument( "blknumber")) if self.get_argument("blknumber") else int( OWT_BlockNumber.latest(rpc_connection)) data = OWT_GetBlockTransactionCount.fromGetBlock( rpc_connection, blknumber) self.write( json.dumps(BaseHandler.success_ret_with_data(data), default=decimal_default)) except Exception as e: self.write( json.dumps(BaseHandler.error_ret_with_data("error: %s" % e))) print("OWT_GetBlockTransactionCount error:{0} in {1}".format( e, get_linenumber()))
def get(self): rpc_connection = OrientWaltProxy(ip_addr, port) try: block_number = self.get_argument("number") block_number = int( block_number, 16) if '0x' in block_number else int(block_number) tx_infos = rpc_connection.owt_getBlockByNumber(block_number) self.write( json.dumps(BaseHandler.success_ret_with_data(tx_infos), default=decimal_default)) except Exception as e: self.write( json.dumps(BaseHandler.error_ret_with_data("error: %s" % e))) print("OWT_GetBlockByNumber Error:{0} in {1}".format( e, get_linenumber()))
def post(self): rpc_connection = AuthServiceProxy(RPC_URL) try: lastscannedblktime = int(str(self.get_argument("blocktime"))) data = BTC_CrawlTxData.process(rpc_connection, lastscannedblktime) for i in range(len(data)): data[i]["amount"] = str( data[i]["amount"]) #convert to str to avoid bug self.write( json.dumps(BaseHandler.success_ret_with_data(data), default=decimal_default)) except Exception as e: self.write( json.dumps(BaseHandler.error_ret_with_data("error: %s" % e))) logging.error("BTC_CrawlTxData error:{0} in {1}".format( e, get_linenumber()))
def get(self): btc_rpc_connection = AuthServiceProxy(OMNI_RPC_URL) data = None try: minconf = int(self.get_argument( "minconf")) if not self.get_argument("minconf") == "" else 1 commands = [["listaccounts", minconf]] data = btc_rpc_connection.batch_(commands) self.write( json.dumps(BaseHandler.success_ret_with_data(data), default=decimal_default)) except Exception as e: self.write( json.dumps(BaseHandler.error_ret_with_data("error: %s" % e))) logging.error("uBTC_ListAccounts error:{0} in {1}".format( e, get_linenumber()))
def post(self): btc_rpc_connection = AuthServiceProxy(OMNI_RPC_URL)#todo-junying-20190310 try: rawdata = self.get_argument("rawdata") if self.get_argument("rawdata") else '02000000011d9c5db5afc7b8f9606569a9d470c435764b8dbf372c473d152c0cff1a77f5f10100000000ffffffff024d9083000000000017a914a9f2cc6c49785beabd9eb26d6d4d1f17fd365d308780841e000000000017a914537d68a8c0e4c04262f419a81aed12ffbad148408700000000' privkey = self.get_argument("privkey") if self.get_argument("privkey") else 'cTe4efinSJLgj8BYdkvnH27Dd6QCM6eeZYRPb6ifGLzuS8oH1gam' addr = self.get_argument("address") if self.get_argument("address") else 'mtwEVo8FVJrMcms1GyzhbTUSafwDKvyjsq' amount = Decimal(self.get_argument("amount")) if self.get_argument("amount") else Decimal(OMNI_TRANSACTION_FEE) from btc.handler import BTC_SignRawTransaction param_in = BTC_SignRawTransaction.calcprevtx(btc_rpc_connection,addr,amount) # sign raw transaction commands = [["signrawtransaction",rawdata,param_in,[privkey]]] data = btc_rpc_connection.batch_(commands) self.write(json.dumps(BaseHandler.success_ret_with_data(data), default=decimal_default)) except Exception as e: self.write(json.dumps(BaseHandler.error_ret_with_data("error: %s"%e))) print("uBTC_SignRawTransaction error:{0} in {1}".format(e,get_linenumber()))
def post(self): rpcconn = USDPProxy(g_IP, g_PORT) try: strTxid = str(self.get_argument("txid")).strip() if len(strTxid) != 64: self.write( json.dumps( BaseHandler.error_ret_with_data("txid is invalid."))) return bValid = USDP_IsValidTx.isValidTx(rpcconn, strTxid) self.write( json.dumps(BaseHandler.success_ret_with_data(bValid), default=decimal_default)) except Exception as e: self.write( json.dumps(BaseHandler.error_ret_with_data("error: %s" % e))) pass
def post(self): btc_rpc_connection = AuthServiceProxy(BTC_RPC_URL)#todo-junying-2019040 try: # get arguments rawdata = self.get_argument_ex("rawdata") src = self.get_argument_ex("src") if self.get_argument_ex("src") else {'2N8jq3e7eBhrrd9d1dMNCvkwtsvN9md2Hmd':'cU27rdRN2uazREh9bBiWQq9e1ZPLAmEguk8ZBuBWKf6a8oav6y73'} dest = self.get_argument_ex("dest") if self.get_argument_ex("dest") else {'2MzrgJmFfHB1mz4QqwuSWePbb183TxHR1wA':0.01} # preprocess addrs,privkeys = src.keys(),src.values() param_out = BTC_CreateRawTransactionEx.generateOutParam(dest) param_in = BTC_SignRawTransactionEx.calcprevtx(btc_rpc_connection,addrs,param_out) commands = [["signrawtransactionwithkey",rawdata,privkeys,param_in]] rsp = btc_rpc_connection.batch_(commands) self.write(json.dumps(BaseHandler.success_ret_with_data(rsp), default=decimal_default)) except Exception as e: self.write(json.dumps(BaseHandler.error_ret_with_data("error: %s"%e))) print("BTC_SignRawTransactionEx error:{0} in {1}".format(e,get_linenumber()))
def get(self): rpc_connection = UnitedProneProxy(ip_addr, port) try: address = self.get_argument("address") if len(address) != 42: self.write( json.dumps( BaseHandler.error_ret_with_data("arguments error"))) return balance = UP_GetBalance.get_balance(rpc_connection, address) self.write( json.dumps(BaseHandler.success_ret_with_data([balance]), default=decimal_default)) except Exception as e: self.write( json.dumps(BaseHandler.error_ret_with_data("error: %s" % e))) print("UP_GetBalance error:{0} in {1}".format(e, get_linenumber()))
def get(self): btc_rpc_connection = AuthServiceProxy(RPC_URL) try: account = self.get_argument("account").decode("utf-8") if account is None or len(account) == 0: self.write(json.dumps(BaseHandler.error_ret())) return commands = [["getbalance", account]] data = btc_rpc_connection.batch_(commands) self.write( json.dumps(BaseHandler.success_ret_with_data(data), default=decimal_default)) except Exception as e: self.write( json.dumps(BaseHandler.error_ret_with_data("error: %s" % e))) logging.error("BTC_GetAccountBalance error:{0} in {1}".format( e, get_linenumber()))
def get(self): omni_rpc_connection = AuthServiceProxy(OMNI_RPC_URL) try: commands = [[ "omni_getbalance", self.get_argument("address"), OMNI_PROPERTY_ID ]] data = omni_rpc_connection.batch_(commands)[0][ 'balance'] #直接获取可用余额, 不考虑冻结金额 self.write( json.dumps(BaseHandler.success_ret_with_data(data), default=decimal_default)) except Exception as e: self.write( json.dumps(BaseHandler.error_ret_with_data("error: %s" % e))) logging.error("OMNI_GetBalance error:{0} in {1}".format( e, get_linenumber()))
def post(self): rpc_connection = OrientWaltProxy(ip_addr, port) try: from_addr = self.get_argument("from") passphrase = self.get_argument("passphrase").encode("utf-8") to_addr = self.get_argument("to") gas = self.get_argument("gas") gas_price = self.get_argument("gasPrice") value = self.get_argument("value") # check arguments _gas = int(gas) if not gas == '' else default_gas _gas_price = str_to_decimal( gas_price ) if not gas_price == '' else default_gasprice # 10Gwei _value = str_to_decimal(value) * 10**18 # checking balance ret, err_msg = OWT_SendTransaction.checkBalance( rpc_connection, from_addr, _value, _gas, _gas_price) if not ret: self.write(json.dumps( BaseHandler.error_ret_with_data(err_msg))) return # unlocking account ret, err_msg = OWT_SendTransaction.unlockAccount( rpc_connection, from_addr, passphrase) if not ret: self.write(json.dumps( BaseHandler.error_ret_with_data(err_msg))) return # sending money rsp = rpc_connection.owt_sendTransaction(to_addr, from_addr, _gas, _gas_price, _value) if not rsp: self.write( json.dumps( BaseHandler.error_ret_with_data('transaction failed'))) return self.write( json.dumps(BaseHandler.success_ret_with_data(rsp), default=decimal_default)) except Exception as e: self.write( json.dumps(BaseHandler.error_ret_with_data("error: %s" % e))) print("OWT_SendTransaction error:{0} in {1}".format( e, get_linenumber()))
def post(self): rpcconn = USDPProxy(g_IP, g_PORT) try: address = self.get_argument("address") if len(address) != 41: self.write( json.dumps( BaseHandler.error_ret_with_data("arguments error"))) return balance = USDP_GetBalance.get_balance(rpcconn, address) self.write( json.dumps(BaseHandler.success_ret_with_data(str(balance)), default=decimal_default)) except Exception as e: self.write( json.dumps(BaseHandler.error_ret_with_data("error: %s" % e))) logging.error("USDP_GetBalance error:{0} in {1}".format( e, get_linenumber()))
def post(self): try: blocknum = self.get_argument("blknumber") assert str(blocknum).isalnum(), "invalid `blknumber`" nblocknum = int(self.get_argument("blknumber")) nblocknum = nblocknum - 100 if nblocknum > 10000 else 0 data = self._get_deposit_txs_from_db(startblk=nblocknum) self.write( json.dumps(BaseHandler.success_ret_with_data(data), default=decimal_default)) except Exception as e: self.write( json.dumps(BaseHandler.error_ret_with_data("error: %s" % e))) logging.error("XMR_CrawlTxData error:{0} in {1}".format( e, get_linenumber())) pass
def post(self): rpc_connection = UnitedProneProxy(ip_addr, port) try: blknumber = int( self.get_argument("blknumber")) if self.get_argument( "blknumber") else UP_BlockNumber.latest(rpc_connection) txcount = UP_GetBlockTransactionCount.fromGetBlock( rpc_connection, blknumber) data = UP_GetBlockTransactions.process(rpc_connection, blknumber, txcount) self.write( json.dumps(BaseHandler.success_ret_with_data(data), default=decimal_default)) except Exception as e: self.write( json.dumps(BaseHandler.error_ret_with_data("error: %s" % e))) print("UP_GetBlockTransactions error:{0} in {1}".format( e, get_linenumber()))
def post(self): rpc_connection = EthereumProxy(ip_addr, port) try: data = str(self.get_argument("data")) if self.get_argument( "data" ) else '0xf86c80850ba43b740082520894838c1fc803d79ddbd1e7de5e8ee0463899ff61a888016345785d8a0000801ca0ad7931b11a83aaf3841085a9375287363b2f42e7c2e663cbac505efbcb16aa4ea06cb9b287c9a91e59675684e552abfeb6d794202fb19ef43f9f44b5e02d9eb581' # 0x checking rlpdata = "0x" + data if "0x" not in data else data # sending raw transaction rsp = rpc_connection.eth_sendRawTransaction(rlpdata) self.write( json.dumps(BaseHandler.success_ret_with_data(rsp), default=decimal_default)) except Exception as e: self.write( json.dumps(BaseHandler.error_ret_with_data("error: %s" % e))) print("ETH_SendRawTransaction error:{0} in {1}".format( e, get_linenumber()))
def post(self): rpc_connection = OrientWaltProxy(ip_addr, port) try: data = str(self.get_argument("data")) if self.get_argument( "data" ) else '0xf86c80850ba43b740082520894ba1099cc91acdf45771d0a0c6e3b80e8e880c68488016345785d8a0000801ba0217def430ee63758f3142b20d7632f1b8d13864e83c50e4118a7caabe94dc353a06c5c12df29768a0fd54903fa76b01b27f1b1038e6ce2a3c5a3c8b07989f5974f' # 0x checking rlpdata = "0x" + data if "0x" not in data else data # sending raw transaction rsp = rpc_connection.owt_sendRawTransaction(rlpdata) self.write( json.dumps(BaseHandler.success_ret_with_data(rsp), default=decimal_default)) except Exception as e: self.write( json.dumps(BaseHandler.error_ret_with_data("error: %s" % e))) print("OWT_SendRawTransaction error:{0} in {1}".format( e, get_linenumber()))
def get(self): btc_rpc_connection = AuthServiceProxy(RPC_URL) try: addr = self.get_argument("address") data = BTC_ListUTXO.utxo(btc_rpc_connection, addr) if not data: self.write(json.dumps(BaseHandler.error_ret_with_data("0"))) return from utils import accumulate self.write( json.dumps(BaseHandler.success_ret_with_data('%.8f' % accumulate(data)), default=decimal_default)) except Exception as e: self.write( json.dumps(BaseHandler.error_ret_with_data("error: %s" % e))) logging.error("BTC_GetBalance error:{0} in {1}".format( e, get_linenumber()))
def post(self): rpcconn = USDPProxy(g_IP, g_PORT) try: addr = self.get_argument("address") if len(addr) != 43: self.write(json.dumps(BaseHandler.error_ret_with_data("arguments error"))) return if addr[ : 5] != "usdp1": self.write(json.dumps(BaseHandler.error_ret_with_data("arguments error"))) return data = USDP_GetAccountInfo.account_info(rpcconn, addr) self.write(json.dumps(BaseHandler.success_ret_with_data(data), default=decimal_default)) except Exception as e: if str(e) == "500": self.write(json.dumps(BaseHandler.error_ret_with_data("error: not found any info of the account. Due to the account DOT NOT have transactions yet. "))) else: self.write(json.dumps(BaseHandler.error_ret_with_data("error: %s"%e))) logging.error("USDP_GetAccountInfo error:{0} in {1}".format(e,get_linenumber()))
def post(self): try: address = self.get_argument("address") if len(address) != 34 or (not str(address).startswith('T')): raise Exception("invalid address") trx = Trx( Tron(full_node=TRON_RPC_URL, solidity_node=TRON_RPC_URL, event_server=TRON_RPC_URL)) account_info = trx.get_account(address=address) if 'balance' in account_info: decBalance = Decimal( account_info['balance']) / Decimal('1000000') fmtBalance = decBalance.quantize( Decimal("0.000000"), getattr(decimal, 'ROUND_DOWN')) else: fmtBalance = '0.000000' is_active = 'create_time' in account_info #账户是否已经激活 rsp_data = { 'address': address, 'balance': str(fmtBalance), 'active': is_active #其他代币资产信息可以根据资产id进行获取, 如TRC20-USDT , 此是后话 } logging.info(f'{rsp_data}') self.write( json.dumps(BaseHandler.success_ret_with_data(rsp_data), default=decimal_default)) pass except Exception as e: self.write( json.dumps(BaseHandler.error_ret_with_data("error: %s" % e))) logging.error("error:{0} in {1}".format(e, get_linenumber()))
def post(self): omni_rpc_connection = AuthServiceProxy(OMNI_RPC_URL) try: minconf = int(self.get_argument( "minconf")) #if not self.get_argument("minconf") == "" else 1 maxconf = int( self.get_argument("maxconf") ) #if not self.get_argument("maxconf") == "" else 9999999 data = uBTC_ListUTXO.utxo(omni_rpc_connection, self.get_argument("address"), minconf, maxconf) self.write( json.dumps(BaseHandler.success_ret_with_data(data), default=decimal_default)) except Exception as e: self.write( json.dumps(BaseHandler.error_ret_with_data("error: %s" % e))) logging.error("uBTC_ListUTXO error:{0} in {1}".format( e, get_linenumber()))
def get(self): btc_rpc_connection = AuthServiceProxy(RPC_URL) try: account = self.get_argument("account") if self.get_argument( "account") else "*" tx_counts = int(self.get_argument("count")) if self.get_argument( "count") else 10 skips = int(self.get_argument("skips")) if self.get_argument( "skips") else 0 data = BTC_ListTransactions.process(btc_rpc_connection, account, tx_counts, skips) self.write( json.dumps(BaseHandler.success_ret_with_data(data), default=decimal_default)) except Exception as e: self.write( json.dumps(BaseHandler.error_ret_with_data("error: %s" % e))) logging.error("BTC_ListTransActions error:{0} in {1}".format( e, get_linenumber()))
def post(self): try: address = self.get_argument("address") if len(address) != 43: self.write( json.dumps( BaseHandler.error_ret_with_data("arguments error"))) return rpcconn = USDPProxy(g_IP, g_PORT) retdata = USDP_GetBalance.get_all_balance(rpcconn, address) self.write( json.dumps(BaseHandler.success_ret_with_data(retdata), default=decimal_default)) except Exception as e: traceback.print_exc() self.write( json.dumps( BaseHandler.error_ret_with_data(f"error: {str(e)}"))) logging.error("USDP_GetBalance error:{}".format(e))
def post(self): rpc_connection = OrientWaltProxy(ip_addr, port) try: key = str(self.get_argument('key')) if self.get_argument( 'key' ) else '1be48a93cb149ea2cbc3e85db6056c83a37a1d7aafcee079c266dd05af2e7c31' data = str(self.get_argument("data")) if self.get_argument( "data" ) else 'e980850ba43b740082520894ba1099cc91acdf45771d0a0c6e3b80e8e880c68488016345785d8a000080' # sending raw transaction encoded = signRawTransaction(key, data) self.write( json.dumps(BaseHandler.success_ret_with_data(encoded), default=decimal_default)) except Exception as e: self.write( json.dumps(BaseHandler.error_ret_with_data("error: %s" % e))) print("OWT_SignRawTransaction error:{0} in {1}".format( e, get_linenumber()))