-
Notifications
You must be signed in to change notification settings - Fork 0
/
blockchainSender.py
66 lines (53 loc) · 1.65 KB
/
blockchainSender.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
import requests as rq
from hashlib import sha256
PORT = 8080
SERVER = 'http://localhost:8080'
def enviar_transaccion():
print("Introduzca el nombre del emisor:")
emisor = input()
print()
print("Introduzca el nombre del receptor:")
receptor = input()
print()
print("Introduzca la cantidad:")
cantidad = input()
headers = {"Sender":emisor,"Receiver": receptor,"Amount":cantidad}
r = rq.post(SERVER+'/transactions/new',headers=headers)
if r.status_code == 200:
print("La transacción se ha registrado con éxito")
else:
print("error al registrar la transacción")
return
def get_mine():
print(SERVER+'/mine')
r = rq.get(SERVER+'/mine')
if r.status_code == 200:
print("El bloque se ha minado con éxito")
else:
print("Error al minar y crear un nuevo bloque")
return
def get_chain():
r = rq.get(SERVER+"/chain")
if r.status_code == 200:
print("La cadena de bloques es:")
print(r.text)
else:
print("Error al intentar obtener la cadena de bloques")
opcion = "0"
while(opcion != "4"):
print()
print("Escoge una opción:")
print("\t1.- Envía una nueva transacción para añadir al próximo bloque.")
print("\t2.- Ejecuta la prueba de trabajo y crea un nuevo bloque")
print("\t3.- Devuelve la información sobre la cadena de bloques")
print("\t4.- Salir")
opcion = input()
if opcion[0] == "1":
enviar_transaccion()
elif opcion[0] == "2":
get_mine()
elif opcion[0] == "3":
get_chain()
elif opcion[0] != "4":
print("Wrong option. Try again: ")
print("Saliendo...")