X-Git-Url: http://git.osdn.net/view?p=bytom%2Fvapor.git;a=blobdiff_plain;f=tools%2Fside_chain_tool%2Fapp%2Fapi%2Ftransaction.py;h=c7c83f1ebc8f5aaf034b9c6db6f8257cef4356e7;hp=3788508a5483a6d8e41584acf6c87dd8b2ce7951;hb=ee01d543fdfe1fd0a4d548965c66f7923ea7b062;hpb=a4e0a3ccc133b69b4a6611fd45e82001fcdafe66 diff --git a/tools/side_chain_tool/app/api/transaction.py b/tools/side_chain_tool/app/api/transaction.py index 3788508a..c7c83f1e 100644 --- a/tools/side_chain_tool/app/api/transaction.py +++ b/tools/side_chain_tool/app/api/transaction.py @@ -4,7 +4,7 @@ from flask import request, jsonify, make_response, current_app, render_template #from sqlalchemy.exc import SQLAlchemyError, IntegrityError from . import api -from .Connection import Connection, WSClient +from .Connection import Connection from .. import db from ..models import KeyPair, PeginAddress @@ -188,12 +188,12 @@ def send_to_mainchain(): response = connSide.request("/get-utxo-from-transaction",body_json) resp_json = json.loads(response.text) if resp_json['status'] == 'success': - utxo = json.dumps(resp_json['data']).strip('{}')+"}" + utxo = json.dumps(resp_json['data']).strip('{}') elif resp_json['status'] == 'fail': return json_contents(jsonify(code=-1, msg="get-utxo-from-transaction: " + resp_json['msg'])) else: return json_contents(jsonify(code=-1, msg="fail get utxo from transaction")) - + block_height = int(request.json['side_block_height']) tx_id = request.json['side_tx_id'].encode('utf-8') alias = request.json['alias'].encode('utf-8') @@ -229,29 +229,32 @@ def send_to_mainchain(): return json_contents(jsonify(code=-1, msg="get side raw transaction fail")) # 构建主链交易 - body_json = '{"claim_script":"%s","raw_transaction": "%s","control_program":"%s","root_xpubs":%s,%s}' % (claim_script,raw_transaction,control_program,root_xpubs,utxo) + body_json = '{"claim_script":"%s","raw_transaction": "%s","control_program":"%s","pubs":%s,%s}' % (claim_script,raw_transaction,control_program,root_xpubs,utxo) response = connSide.request("/build-mainchain-tx",json.loads(body_json)) resp_json = json.loads(response.text.encode('utf-8')) tmpl = "" if resp_json['status'] == 'success': - tmpl = json.dumps(resp_json['data']) + tmpl = json.dumps(resp_json['data']['tx']) elif resp_json['status'] == 'fail': print resp_json return json_contents(jsonify(code=-1, msg="build-mainchain-tx: " + resp_json['msg'])) else: return json_contents(jsonify(code=-1, msg="build mainchain transaction fail")) - # 签名 for key,value in key_pair.items(): body_json = '{"xprv": "%s","xpub":"%s","transaction":%s,"claim_script":"%s"}' % (key,value,tmpl,claim_script) response = connSide.request("/sign-with-key",json.loads(body_json)) resp_json = json.loads(response.text.encode('utf-8')) if resp_json['status'] == 'success': + print resp_json tmpl = json.dumps(resp_json['data']['transaction']) raw_transaction = resp_json['data']['transaction']['raw_transaction'].encode('utf-8') - elif resp_json['status'] == 'fail': + elif resp_json['status'] == 'fail': + print "sign-with-key" + print resp_json return json_contents(jsonify(code=-1, msg="sign-with-key: " + resp_json['msg'])) else: + print resp_json return json_contents(jsonify(code=-1, msg="sign-with-key fail")) # 提交到主链