def private(): amount = session.get('amount', 'hren') sender_public_key = session.get('sender_public_key', 'hren') receiver_public_key = session.get('receiver_public_key', 'hren') sender = User.query.filter_by(public_key=sender_public_key).first() receiver = User.query.filter_by(public_key=receiver_public_key).first() if request.method == 'GET': return render_template('private.html', amount=amount, from_whom=sender_public_key, to_whom=receiver_public_key, sender_private_key=sender.private_key) elif request.method == 'POST': input_private_key = request.form['private'] if input_private_key == sender.private_key: sender.balance = sender.balance - int(amount) receiver.balance = receiver.balance + int(amount) conf = "Transactions added to blockchain!" write_block(from_who=sender_public_key, to_whom=receiver_public_key, amount=amount) write_block_to_nodes(from_who=sender_public_key, to_whom=receiver_public_key, amount=amount) db.session.commit() return render_template('private.html', confirmation=conf) else: wrong = 'The Private Key is incorrect' return render_template('private.html', wrong=wrong)
def private(): amount = session.get('amount', 'hren') sender_public_key = session.get('sender_public_key', 'hren') receiver_public_key = session.get('receiver_public_key', 'hren') sender = User.query.filter_by(public_key=sender_public_key).first() receiver = User.query.filter_by(public_key=receiver_public_key).first() if request.method == 'GET': return render_template('private.html', amount=amount, from_whom=sender_public_key, to_whom=receiver_public_key, sender_private_key=sender.private_key) elif request.method == 'POST': input_private_key = request.form['private'] nodes_numbers = [] for i in range(1,7): nodes_numbers.append(request.form.get(f'node{i}')) if input_private_key == sender.private_key: for node_num in nodes_numbers: if node_num: node = nodes_route + str(node_num) + '/' sender.balance = sender.balance - int(amount) receiver.balance = receiver.balance + int(amount) conf = "Transactions added to blockchain!" write_block_to_node(node, from_who=sender_public_key, to_whom=receiver_public_key, amount=amount) if nodes_numbers.count('None') < 3: write_block(from_who=sender_public_key, to_whom=receiver_public_key, amount=amount) db.session.commit() return render_template('private.html', confirmation=conf, nodes=nodes_numbers) else: wrong = 'The Private Key is incorrect' return render_template('private.html', wrong=wrong)
def private(): amount = session.get('amount') sender_public_key = session.get('sender_public_key') receiver_public_key = session.get('receiver_public_key') sender = User.query.filter_by(public_key=sender_public_key).first() #receiver = User.query.filter_by(public_key=receiver_public_key).first() if request.method == 'GET': return render_template('private.html', amount=amount, from_whom=sender_public_key, to_whom=receiver_public_key, sender_private_key=sender.private_key) elif request.method == 'POST': input_private_key = request.form['private'] nodes_numbers = [] for i in range(1, 7): nodes_numbers.append(request.form.get(f'node{i}')) if input_private_key == sender.private_key: if nodes_numbers.count(None) < 3: write_block(from_who=sender_public_key, to_whom=receiver_public_key, amount=amount) write_block_to_nodes(from_who=sender_public_key, to_whom=receiver_public_key, amount=amount) return render_template('private.html', confirmation='Transaction added to the blockchain!', nodes=nodes_numbers) else: return render_template('private.html', deny = "Not enough nodes to change the blockchain!") else: wrong = 'The Private Key is incorrect' return render_template('private.html', wrong=wrong)
def private(sen, rec, am): amount = am sender_public_key = request.form.get('from') receiver_public_key = request.form.get('to') amount = request.form.get('amount') if request.method == 'GET': return render_template('private.html', amount=amount, from_whom=sender_public_key, to_whom=receiver_public_key) elif request.method == 'POST': input_private_key = request.form['private'] nodes_numbers = [] for i in range(1, 7): nodes_numbers.append(request.form.get(f'node{i}')) if input_private_key == sender.private_key: if nodes_numbers.count(None) < 3: block_data = write_block(from_who=sender_public_key, to_whom=receiver_public_key, amount=amount) write_block_to_nodes(from_who=sender_public_key, to_whom=receiver_public_key, amount=amount) return render_template( 'private.html', block=block_data, confirmation='Transaction added to the blockchain!') else: return render_template( 'private.html', deny="Not enough nodes to change the blockchain!") else: wrong = 'The Private Key is incorrect' return render_template('private.html', wrong=wrong)
def transaction(): users = User.query.all() if request.method == 'POST': sender_public_key = request.form.get('from') receiver_public_key = request.form.get('to') amount = request.form.get('amount') sender = User.query.filter_by(public_key=sender_public_key).first() print(sender.private_key) if request.form.get('private'): if sender.private_key == request.form.get('private'): block_data = write_block(from_who=sender_public_key, to_whom=receiver_public_key, amount=amount) write_block_to_nodes(from_who=sender_public_key, to_whom=receiver_public_key, amount=amount) return render_template( 'transactions.html', block=block_data, confirmation='Transaction added to the blockchain!', sender=sender_public_key, receiver=receiver_public_key, amount=amount, sender_private_key=sender.private_key, users=users) else: return render_template('transactions.html', users=users)
def private(): amount = session.get('amount') sender_public_key = session.get('sender_public_key') receiver_public_key = session.get('receiver_public_key') sender = User.query.filter(User.balance==100).first() print(sender.public_key) print(sender_public_key=='174ebb9e859c11eaadabd983fb560cf7') print(type(sender_public_key)) print(sender_public_key) print(sender) if request.method == 'GET': return render_template('private.html', amount=amount, from_whom=sender_public_key, to_whom=receiver_public_key) elif request.method == 'POST': input_private_key = request.form['private'] nodes_numbers = [] for i in range(1, 7): nodes_numbers.append(request.form.get(f'node{i}')) if input_private_key == sender.private_key: if nodes_numbers.count(None) < 3: block_data = write_block(from_who=sender_public_key, to_whom=receiver_public_key, amount=amount) write_block_to_nodes(from_who=sender_public_key, to_whom=receiver_public_key, amount=amount) return render_template('private.html', block=block_data, confirmation='Transaction added to the blockchain!') else: return render_template('private.html', deny="Not enough nodes to change the blockchain!") else: wrong = 'The Private Key is incorrect' return render_template('private.html', wrong=wrong)
def transaction(): users = User.query.all() if request.method == 'POST': if request.form.get('private'): sender_public_key = request.form.get('read_only_sender') receiver_public_key = request.form.get('read_only_receiver') amount = request.form.get('read_only_amount') sender = User.query.filter_by(public_key=sender_public_key).first() receiver = User.query.filter_by( public_key=receiver_public_key).first() if sender.private_key == request.form.get('private'): block_data = write_block(from_who=sender_public_key, to_whom=receiver_public_key, amount=amount) write_block_to_nodes(from_who=sender_public_key, to_whom=receiver_public_key, amount=amount) sender.balance -= int(amount) receiver.balance += amount return render_template( 'transactions.html', confirmation='Transaction added to the blockchain!', block=block_data) else: wrong = 'The Private Key is incorrect' return render_template('transactions.html', wrong=wrong) else: sender_public_key = request.form.get('from') receiver_public_key = request.form.get('to') amount = request.form.get('amount') sender = User.query.filter_by(public_key=sender_public_key).first() print(sender) print(sender) return render_template('transactions.html', sender=sender_public_key, receiver=receiver_public_key, amount=amount, sender_private_key=sender.private_key, users=users) else: return render_template('transactions.html', users=users)
from functions import genesis from functions import write_block, change_block, repair_integrity import os from_who = 'ivan' to_whom = 'petr' amount = 1002 def create_dir(num): if not os.path.exists('{}'.format(num)): os.makedirs('{}'.format(num)) return ('Done!') write_block(from_who,to_whom,amount) #genesis() #create_dir(2)
receiver_public_key = session.get('receiver_public_key') sender = User.query.filter(User.public_key==sender_public_key).first() print(type(sender_public_key)) print(sender_public_key) print(sender) if request.method == 'GET': return render_template('private.html', amount=amount, from_whom=sender_public_key, to_whom=receiver_public_key) elif request.method == 'POST': input_private_key = request.form['private'] nodes_numbers = [] for i in range(1, 7): nodes_numbers.append(request.form.get(f'node{i}')) if input_private_key == sender.private_key: if nodes_numbers.count(None) < 3: block_data = write_block(from_who=sender_public_key, to_whom=receiver_public_key, amount=amount) write_block_to_nodes(from_who=sender_public_key, to_whom=receiver_public_key, amount=amount) return render_template('private.html', block=block_data, confirmation='Transaction added to the blockchain!') else: return render_template('private.html', deny="Not enough nodes to change the blockchain!") else: wrong = 'The Private Key is incorrect' return render_template('private.html', wrong=wrong) @app.route('/blockchain/', methods=['GET']) def blockchain(): blocks_dict = {} files = int_and_sort(os.listdir(blockchain_dir)) for filename in reversed(files[1:]):