mauricio-alvarez / BlockchainAED2022-2

0 stars 0 forks source link

Implementar Block #7

Closed mauricio-alvarez closed 1 year ago

Alexis0816 commented 1 year ago
  1. Los atributos necesarios para cada objeto creado de la clase deben ser:

    - El hash previo, el hash actual, el valor de la transacción, las transacciones en un doublelist , el Nonce generado, el tamaño del 
       block, la precision y el máximo de transacciones.
Alexis0816 commented 1 year ago
  1. Se implementarán 3 constructores principales:
    • Por defecto
    • Constructor para el resto de bloques en donde se asignan valores al prev_hash, precision and max_transactions.
    • Constructor para el bloque génesis.

Image

Alexis0816 commented 1 year ago
  1. Finalmente los principales métodos al instanciar la clase Block:
    • Añadir transacción: se almacena y guarda cada transacción en la estructura de datos doublelist siempre y cuando el máximo de transacciones no sea mayor al tamaño del bloque. Caso contrario, se procede a minar de manera secuencial.
    • Minar: Se calcula el hash mediante el algoritmo SHA256 previo de una cantidad de ceros determinado por el atributo "precision".
    • Calcular el hash: Se hace uso de SHA256 para retornar el valor hash de cada block.
    • Obtener transacciones: Almacena las transacciones existentes y retorna todas ellas.