Abra el archivo blockchain.py
en su editor de código.
Defina una clase Blockchain
: esta clase representará blockchain y contendrá los métodos necesarios para administrar los bloques y la cadena misma.
Python
pythonCopiar código
clase Blockchain:
def __init__(self):
self.chain = []
Este código define una clase Blockchain
con una lista vacía llamada chain
para almacenar los bloques.
Implemente el método add_block
: este método se utilizará para agregar bloques a la cadena de bloques. Tomará un objeto de bloque como parámetro y lo agregará a la cadena.
Python
pythonCopiar código
clase Blockchain:
def __init__(self):
self.chain = []
def add_block(self, block):
self.chain.append(block)
Este código agrega el método add_block
a la clase Blockchain
.
Pruebe agregar bloques a la cadena de bloques: en la parte principal de su código, después de la definición de la clase, cree una nueva instancia de la clase Blockchain
. Luego, cree un nuevo objeto de bloque y agréguelo a la cadena de bloques usando el método add_block
.
```
Pitón
PythonCopiar código
cadena de bloques = cadena de bloques()
new_block = Bloque(1, fecha y hora. fecha y hora. ahora(), “Datos de muestra”, “anterior_hash”, 0)
blockchain.add_block(nuevo_bloque)
Este código crea una nueva instancia de la clase `Blockchain`, crea un nuevo objeto de bloque con algunos datos de muestra y lo agrega a la cadena de bloques usando el método `add_block`.
## 2.3 Validación de Blockchain
1.
Implementar el método `is_valid`: Este método se utilizará para validar la integridad de la blockchain. Iterará a través de cada bloque de la cadena y verificará que el hash de cada bloque coincida con el hash del bloque anterior.
Pitón
PythonCopiar código
clase de cadena de bloques:
def inicio(yo):
cadena propia = []
def add_block(self, bloquear):
self.chain.append(bloque)
def is_valid(self):
para i en rango(1, len(self.chain)):
bloque_actual = self.cadena[i]
bloque_anterior = self.cadena[i - 1]
si bloque_actual.hash_anterior! = bloque_anterior.hash():
devolver falsodevolver verdadero
Este código agrega el método `is_valid` a la clase `Blockchain`.
1.
Pruebe la validación de la cadena de bloques: después de agregar bloques a la cadena de bloques, llame al método `is_valid` para verificar si la cadena de bloques es válida.
Pitón
PythonCopiar código
print("La cadena de bloques es válida.")
demás:
imprimir ("Blockchain no es válido").
Este código valida la cadena de bloques llamando al método `is_valid` e imprime un mensaje apropiado según el resultado.
## 2.4 Prueba de Blockchain
1.
Agregue más bloques a la cadena de bloques: cree bloques adicionales usando diferentes datos y hashes anteriores y agréguelos a la cadena de bloques usando el método `add_block`.
Python
pythonCopiar código
#Crear más bloques
block2 = Block(2, datetime.datetime.now(), "Más datos", new_block.hash(), 0)
bloque3 = Bloque(3, datetime.datetime.now(), "Aún más datos", block2.hash(), 0)
#Agregar los bloques a la blockchain
blockchain.add_block(block2)
blockchain.add_block(bloque3)
Este código crea dos bloques adicionales y los agrega a la cadena de bloques.
1.
Pruebe la validación de la cadena de bloques nuevamente: después de agregar los nuevos bloques, llame al método `is_valid` para verificar la validez de la cadena de bloques.
Python
pythonCopiar código
# Validar blockchainif blockchain.is_valid():
imprimir("Blockchain es válido.")
else:
print("Blockchain no es válido.")
```
Este código valida la cadena de bloques e imprime el resultado.
En esta lección, hemos construido la estructura de nuestra blockchain. Creamos una clase Blockchain
e implementamos métodos para agregar bloques a la cadena y validar su integridad. También probamos blockchain agregando bloques y verificando su validez.
Abra el archivo blockchain.py
en su editor de código.
Defina una clase Blockchain
: esta clase representará blockchain y contendrá los métodos necesarios para administrar los bloques y la cadena misma.
Python
pythonCopiar código
clase Blockchain:
def __init__(self):
self.chain = []
Este código define una clase Blockchain
con una lista vacía llamada chain
para almacenar los bloques.
Implemente el método add_block
: este método se utilizará para agregar bloques a la cadena de bloques. Tomará un objeto de bloque como parámetro y lo agregará a la cadena.
Python
pythonCopiar código
clase Blockchain:
def __init__(self):
self.chain = []
def add_block(self, block):
self.chain.append(block)
Este código agrega el método add_block
a la clase Blockchain
.
Pruebe agregar bloques a la cadena de bloques: en la parte principal de su código, después de la definición de la clase, cree una nueva instancia de la clase Blockchain
. Luego, cree un nuevo objeto de bloque y agréguelo a la cadena de bloques usando el método add_block
.
```
Pitón
PythonCopiar código
cadena de bloques = cadena de bloques()
new_block = Bloque(1, fecha y hora. fecha y hora. ahora(), “Datos de muestra”, “anterior_hash”, 0)
blockchain.add_block(nuevo_bloque)
Este código crea una nueva instancia de la clase `Blockchain`, crea un nuevo objeto de bloque con algunos datos de muestra y lo agrega a la cadena de bloques usando el método `add_block`.
## 2.3 Validación de Blockchain
1.
Implementar el método `is_valid`: Este método se utilizará para validar la integridad de la blockchain. Iterará a través de cada bloque de la cadena y verificará que el hash de cada bloque coincida con el hash del bloque anterior.
Pitón
PythonCopiar código
clase de cadena de bloques:
def inicio(yo):
cadena propia = []
def add_block(self, bloquear):
self.chain.append(bloque)
def is_valid(self):
para i en rango(1, len(self.chain)):
bloque_actual = self.cadena[i]
bloque_anterior = self.cadena[i - 1]
si bloque_actual.hash_anterior! = bloque_anterior.hash():
devolver falsodevolver verdadero
Este código agrega el método `is_valid` a la clase `Blockchain`.
1.
Pruebe la validación de la cadena de bloques: después de agregar bloques a la cadena de bloques, llame al método `is_valid` para verificar si la cadena de bloques es válida.
Pitón
PythonCopiar código
print("La cadena de bloques es válida.")
demás:
imprimir ("Blockchain no es válido").
Este código valida la cadena de bloques llamando al método `is_valid` e imprime un mensaje apropiado según el resultado.
## 2.4 Prueba de Blockchain
1.
Agregue más bloques a la cadena de bloques: cree bloques adicionales usando diferentes datos y hashes anteriores y agréguelos a la cadena de bloques usando el método `add_block`.
Python
pythonCopiar código
#Crear más bloques
block2 = Block(2, datetime.datetime.now(), "Más datos", new_block.hash(), 0)
bloque3 = Bloque(3, datetime.datetime.now(), "Aún más datos", block2.hash(), 0)
#Agregar los bloques a la blockchain
blockchain.add_block(block2)
blockchain.add_block(bloque3)
Este código crea dos bloques adicionales y los agrega a la cadena de bloques.
1.
Pruebe la validación de la cadena de bloques nuevamente: después de agregar los nuevos bloques, llame al método `is_valid` para verificar la validez de la cadena de bloques.
Python
pythonCopiar código
# Validar blockchainif blockchain.is_valid():
imprimir("Blockchain es válido.")
else:
print("Blockchain no es válido.")
```
Este código valida la cadena de bloques e imprime el resultado.
En esta lección, hemos construido la estructura de nuestra blockchain. Creamos una clase Blockchain
e implementamos métodos para agregar bloques a la cadena y validar su integridad. También probamos blockchain agregando bloques y verificando su validez.