from app.api.resources import Create_P2WPKH_Program
from app.api.resources import Create_Address
from app.api.resources import Get_Path_From_Index
-from app.api.resources import Broadcast_Transaction
+from app.api.resources import Submit_Transaction
from app.api.resources import Create_QRcode_Base64
from app.api.resources import Create_New_Key
from app.api.resources import Create_New_Address
api.add_resource(Create_P2WPKH_Program, '/create_P2WPKH_program')
api.add_resource(Create_Address, '/create_address')
api.add_resource(Get_Path_From_Index, '/get_path_from_index')
-api.add_resource(Broadcast_Transaction, '/broadcast_transaction')
+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
from app.model.receiver import create_address
from app.model.receiver import get_path_from_index
from app.model.receiver import create_qrcode_base64
-from app.model.transaction import broadcast_transaction
+from app.model.transaction import submit_transaction
from app.model.key import create_new_key
from app.model.receiver import create_new_address
address = create_address(control_program, network)
return address
-class Broadcast_Transaction(Resource):
+class Submit_Transaction(Resource):
def post(self):
args = parser.parse_args()
raw_transaction = args.get('raw_transaction_str')
network = args.get('network_str')
- response = broadcast_transaction(raw_transaction, network)
+ response = submit_transaction(raw_transaction, network)
return response
class Create_QRcode_Base64(Resource):
import requests
import json
-# broadcast_transaction broadcast raw transaction
+# submit_transaction broadcast raw transaction
# raw_transaction_str is signed transaction,
# network_str is mainnet or testnet
# test data 1:
# raw_transaction_str: 070100010160015e0873eddd68c4ba07c9410984799928288ae771bdccc6d974e72c95727813461fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8094ebdc030101160014052620b86a6d5e07311d5019dffa3864ccc8a6bd630240312a052f36efb9826aa1021ec91bc6f125dd07f9c4bff87014612069527e15246518806b654d57fff8b6fe91866a19d5a2fb63a5894335fce92a7b4a7fcd340720e87ca3acdebdcad9a1d0f2caecf8ce0dbfc73d060807a210c6f225488347961402013dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8082eee0020116001418028ef4f8b8c278907864a1977a5ee6707b2a6b00013cffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80b8b872011600142935e4869d0317d9701c80a02ecf888143cb9dd200
# network_str: testnet
-def broadcast_transaction(raw_transaction_str, network_str):
+def submit_transaction(raw_transaction_str, network_str):
raw_transaction_dict = {
"transaction": raw_transaction_str
}
$('#txtSignatureVerify').val('')
$('#txtVerifyResult').val('')
})
+ // 发送交易
+ $('#btnSubmitTransaction').click(function(){
+ console.log('验证签名');
+ var raw_transaction_str = $('#txtRawTransaction').val()
+ $.ajax({
+ method: 'post', //get or post
+ url: 'http://127.0.0.1:5000/api/v1/submit_transaction',
+ data: {
+ "raw_transaction_str": raw_transaction_str
+ },
+ dataType: 'json',
+ }).done(function(data){
+ console.log(data);
+ layer.msg('发送成功')
+ $('#txtRawTransaction').val('')
+ }).fail(function(err){
+ layer.alert('发送失败,请检查输入数据格式是否正确' + err);
+ });
+ })
+ // 清除发送交易
+ $('#btnResetSubmitTransaction').click(function(){
+ console.log('清除');
+ $('#txtRawTransaction').val('')
+ })
});
<div class="form-group">
<label class="col-sm-2 control-label">Message</label>
<div class="col-sm-10">
- <input type="text" class="form-control" id="txtMessage" placeholder="Message, e.g. a6ce34eec332b32e42ef3407e052d64ac625da6f" >
+ <input type="text" class="form-control" id="txtMessage" placeholder="Message, e.g. a6ce34eec332b32e42ef3407e052d64ac625da6f" maxlength="10000">
</div>
</div>
<!-- 签名 -->
<div class="form-group">
<label class="col-sm-2 control-label">Message</label>
<div class="col-sm-10">
- <input type="text" class="form-control" id="txtMessageVerify" placeholder="Message, e.g. a6ce34eec332b32e42ef3407e052d64ac625da6f" >
+ <input type="text" class="form-control" id="txtMessageVerify" placeholder="Message, e.g. a6ce34eec332b32e42ef3407e052d64ac625da6f" maxlength="10000">
</div>
</div>
<!-- 签名 -->
</form>
</div>
</div>
+ <div class="panel panel-default sc-bd">
+ <div class="panel-heading">
+ <h3 class="panel-title">Submit 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="txtRawTransaction" placeholder="Raw Transaction, e.g. 070100010160015e0873eddd68c4ba07c9410984799928288ae771bdccc6d974e72c95727813461fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8094ebdc030101160014052620b86a6d5e07311d5019dffa3864ccc8a6bd630240312a052f36efb9826aa1021ec91bc6f125dd07f9c4bff87014612069527e15246518806b654d57fff8b6fe91866a19d5a2fb63a5894335fce92a7b4a7fcd340720e87ca3acdebdcad9a1d0f2caecf8ce0dbfc73d060807a210c6f225488347961402013dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8082eee0020116001418028ef4f8b8c278907864a1977a5ee6707b2a6b00013cffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80b8b872011600142935e4869d0317d9701c80a02ecf888143cb9dd200" maxlength="100000">
+ </div>
+ </div>
+ <div class="form-group">
+ <div class="col-sm-offset-2 col-sm-10">
+ <a id="btnSubmitTransaction" class="btn btn-primary">Submit Transaction</a>
+ <a id="btnResetSubmitTransaction" class="btn btn-primary">Reset</a>
+ </div>
+ </div>
+ </form>
+ </div>
+ </div>
</body>
</html>
\ No newline at end of file