from app.api.resources import Create_QRcode_Base64
from app.api.resources import Create_New_Key
from app.api.resources import Create_New_Address
+from app.api.resources import Decode_Raw_Transaction
blueprint = Blueprint('api', __name__, url_prefix='/api/v1')
api = Api(blueprint)
api.add_resource(Submit_Transaction, '/submit_transaction')
api.add_resource(Create_QRcode_Base64, '/create_qrcode_base64')
api.add_resource(Create_New_Key, '/create_new_key')
-api.add_resource(Create_New_Address, '/create_new_address')
\ No newline at end of file
+api.add_resource(Create_New_Address, '/create_new_address')
+api.add_resource(Decode_Raw_Transaction, '/decode_raw_transaction')
\ No newline at end of file
from app.model.transaction import submit_transaction
from app.model.key import create_new_key
from app.model.receiver import create_new_address
+from app.model.transaction import decode_raw_transaction
parser = reqparse.RequestParser()
change = args.get('change_bool')
network = args.get('network_str')
response = create_new_address(xpub, account_index, address_index, change, network)
+ return response
+
+class Decode_Raw_Transaction(Resource):
+
+ def post(self):
+ args = parser.parse_args()
+ raw_transaction = args.get('raw_transaction_str')
+ response = decode_raw_transaction(raw_transaction)
return response
\ No newline at end of file
return {
"response": response.text[:-1]
}
+
+
+def decode_raw_transaction(raw_transaction_str):
+ raw_transaction_dict = {
+ "raw_transaction": raw_transaction_str
+ }
+ raw_transaction_json = json.dumps(raw_transaction_dict)
+ headers = {
+ "content-type": "application/json",
+ "accept": "application/json"
+ }
+ url = 'http://127.0.0.1:9888/decode-raw-transaction'
+ response = requests.post(url, headers=headers, data=raw_transaction_json)
+ return {
+ "response": response.text[:-1]
+ }
console.log('清除');
$('#txtRawTransaction').val('')
})
+ // 解码原生交易信息
+ $('#btnDocodeRawTransaction').click(function(){
+ console.log('解码交易');
+ var raw_transaction_str = $('#txtRawHexTransaction').val()
+ $.ajax({
+ method: 'post', //get or post
+ url: 'http://kit.blockmeta.com/api/v1/decode_raw_transaction',
+ data: {
+ "raw_transaction_str": raw_transaction_str
+ },
+ dataType: 'json',
+ }).done(function(data){
+ console.log(data);
+ layer.msg('解码成功')
+ $('#txtJsonTransaction').val(data.response)
+ }).fail(function(err){
+ layer.alert('解码失败,请检查输入数据格式是否正确' + err);
+ });
+ })
+ // 清除解码交易
+ $('#btnResetDecodeRawTransaction').click(function(){
+ console.log('清除');
+ $('#txtRawHexTransaction').val('')
+ $('#txtJsonTransaction').val('')
+ })
});
</form>
</div>
</div>
+ <div class="panel panel-default sc-bd">
+ <div class="panel-heading">
+ <h3 class="panel-title">Decode Raw Transaction </h3>
+ </div>
+ <div class="panel-body">
+ <form class="form-horizontal">
+ <!-- 签名好的交易信息 -->
+ <div class="form-group">
+ <label class="col-sm-2 control-label">Raw Transaction</label>
+ <div class="col-sm-10">
+ <input type="text" class="form-control" id="txtRawHexTransaction" placeholder="Raw Hex Transaction, e.g. 070100010161015f28b7b53d8dc90006bf97e0a4eaae2a72ec3d869873188698b694beaf20789f21ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8099c4d5990100011600149335b1cbd4a77b78e33315a0ed10a95b12e7ca48630240897e2d9d24a3b5faaed0579dee7597b401491595675f897504f8945b29d836235bd2fca72a3ad0cae814628973ebcd142d9d6cc92d0b2571b69e5370a98a340c208cb7fb3086f58db9a31401b99e8c658be66134fb9034de1d5c462679270b090702013effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80f9f8bc98010116001406ce4b689ba026ffd3a7ca65d1d059546d4b78a000013dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80c6868f01011600147929ef91997c827bebf60fa608f876ea27523c4700" maxlength="100000">
+ </div>
+ </div>
+ <!-- json格式交易 -->
+ <div class="form-group">
+ <label class="col-sm-2 control-label">JSON Format</label>
+ <div class="col-sm-10">
+ <input type="text" class="form-control" id="txtJsonTransaction" placeholder="JSON Format Transaction" maxlength="100000" readonly>
+ </div>
+ </div>
+ <div class="form-group">
+ <div class="col-sm-offset-2 col-sm-10">
+ <a id="btnDocodeRawTransaction" class="btn btn-primary">Decode Transaction</a>
+ <a id="btnResetDecodeRawTransaction" class="btn btn-primary">Reset</a>
+ </div>
+ </div>
+ </form>
+ </div>
+ </div>
</body>
</html>
\ No newline at end of file