Exemplo n.º 1
0
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)
Exemplo n.º 2
0
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)
Exemplo n.º 3
0
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)
Exemplo n.º 4
0
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)
Exemplo n.º 5
0
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)
Exemplo n.º 6
0
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)
Exemplo n.º 7
0
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)
Exemplo n.º 8
0
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)
Exemplo n.º 9
0
        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:]):