Estudiantes
- Agustín González [106.086]
- Aldana Rastrelli [ 98.408]
- Nicolas Ronchese [108.169]
La Estructura del Nodo

Nuestro nodo presenta cada uno de los módulos que se muestran en el gráfico superior.
- El connection Manager es aquel que se comunica con los peers tanto para leer como para enviar información por los streams.
- La interface se comunica con los elementos visuales.
- El peers discovery se ocupa de obtener los peers de la testnet para poder conectarse y comunicarse luego con ellos.
- El Storage Engine tiene dentro un Storage Manager, el cual se encarga de guardar bloques, headers, wallets y elementos de testeo.
- El Validation Engine se encarga de las validaciones y todo lo relacionado con ellas.
- Validations valida los blockHeaders.
- Hashes crea los hashes necesarios para las validaciones.
- Merkle Tree valida los bloques.
- Las Wallets son todo lo relacionado a las cuentas agregadas por el usuario.
- Wallet Handler almacena y organiza todas las cuentas agregadas.
- Wallet contiene dentro un KeysHandler para sus public y private keys y su address, y una lista de UTXOs que tiene disponibles para gastar.
- El Transaction Handler se ocupa de coordinar con la Wallet el envío de la transacción solicitada en la interfaz por el usuario.
- El UTXO Collector almacena todas las UTXOs, agrupadas por address de wallet, para facilitar la creación de una nueva wallet obteniendo los balances de una forma rápida (a través de un hashmap) para dicha wallet.
Flujos Principales
Headers Validaton

Nos interesa destacar el uso de la concurrencia para la validación de blockHeaders de forma tal que se consigue, de forma más eficiente, almacenar los headers a través del Storage Manager.