From 1d337cafdddb3056b2ee28323d98bd0e17a0c891 Mon Sep 17 00:00:00 2001 From: jam btc Date: Fri, 12 May 2023 11:47:49 +0200 Subject: [PATCH] update: fornite maggiori informazioni --- README.md | 9 ++- blockchain.json | 12 ++-- index.php | 58 +++++++++++++------ ...erkleRoot.php => MerkleRootCalculator.php} | 2 +- 4 files changed, 53 insertions(+), 28 deletions(-) rename src/{MerkleRoot.php => MerkleRootCalculator.php} (98%) diff --git a/README.md b/README.md index 79ec9b3..8c12d2d 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ Il presente software effettua il Merkle Root di una serie di hash e ne confronta In particolare permette di confrontare il contenuto presente su QLDB con quello presente su blockchain. -Seguendo questa guida è possibile eseguire in autonomia il predetto controllo. +Seguendo questa guida è possibile eseguire in autonomia il predetto controllo. ## Prerequisiti @@ -16,9 +16,9 @@ Seguendo questa guida è possibile eseguire in autonomia il predetto controllo. ## Guida -- Clona questo software oppure scaricalo da questo link in una cartella sul tuo pc. -- Copia i file json sia del Qldb che della Blockchain sotto questa stessa cartella. -- Apri la finestra shell o prompt e digita i seguenti comandi: +- Clona questo software oppure scaricalo da questo link in una cartella sul tuo pc. +- Copia i file json sia del Qldb che della Blockchain sotto questa stessa cartella. Nel file `blockchain.json` lascia soltanto il merkle root che vuoi verificare. Nel file `qldb.json` lascia soltanto gli hash relativi al periodo che vuoi verificare. Ricordati di eliminare l'ultima virgola per evitare errori di formattazione del formato json. +- Apri una finestra shell o prompt e digita i seguenti comandi: ```bash cd @@ -30,7 +30,6 @@ Dovresti ottenere una risposta di questo tipo: ```bash Merkle Root Calculator -Hash Transazione: 0x4de4beaf81e16c53537f1369180ab77a803b4251d8a29a6ee937b5f72af8a0c9 Merkle root da Blockchain: 36d12cb8e28699290b0cef1ea5a1fadfd2c6bc4afad02633330e86b197b61884 Merkle root da QLDB: 36d12cb8e28699290b0cef1ea5a1fadfd2c6bc4afad02633330e86b197b61884 Verifica Merkle root: SUCCESSO diff --git a/blockchain.json b/blockchain.json index 5f13ad3..8b0cfde 100644 --- a/blockchain.json +++ b/blockchain.json @@ -1,5 +1,7 @@ -{ - "merkleRoot": "36d12cb8e28699290b0cef1ea5a1fadfd2c6bc4afad02633330e86b197b61884", - "txHash": "0x4de4beaf81e16c53537f1369180ab77a803b4251d8a29a6ee937b5f72af8a0c9", - "timestamp": 1683380719 -} \ No newline at end of file +[ + { + "merkleRoot": "36d12cb8e28699290b0cef1ea5a1fadfd2c6bc4afad02633330e86b197b61884", + "txHash": "0x4de4beaf81e16c53537f1369180ab77a803b4251d8a29a6ee937b5f72af8a0c9", + "timestamp": 1683380719 + } +] \ No newline at end of file diff --git a/index.php b/index.php index b75a6fe..5ba48de 100644 --- a/index.php +++ b/index.php @@ -1,27 +1,51 @@ document_hash; -} +foreach ($qldb_data as $data) $qldb_hashes[] = $data->document_hash; -// inizializzo la classe -$merkle = new MerkleRoot(); +// prendo solo l'elemento 0 del json della blockchain +$blockchain_data = $blockchain_data[0]; -// genero il Merkle root con i dati da qldb -$root_qldb = $merkle->root($qldb); +// inizializzo la classe e calcolo il Merkle root con gli hash ricavati dal qldb +$merkle = new MerkleRootCalculator(); +$qldb_root = $merkle->root($qldb_hashes); -echo "Merkle Root Calculator\n\n"; -echo "Hash Transazione: ". $data_blockchain->txHash ."\n"; -echo "Merkle root da Blockchain: $data_blockchain->merkleRoot\n"; -echo "Merkle root da QLDB: $root_qldb\n"; -echo "Verifica Merkle root: " . ($merkle->verify($qldb, $data_blockchain->merkleRoot) ? 'SUCCESSO' : 'FALLITO') . "\n"; +// stampo il risultato +echo "Merkle root da Blockchain: $blockchain_data->merkleRoot\n"; +echo "Merkle root da QLDB: $qldb_root\n"; +echo "Verifica Merkle root: " . ($merkle->verify($qldb_hashes, $blockchain_data->merkleRoot) ? 'SUCCESSO' : 'FALLITO') . "\n"; diff --git a/src/MerkleRoot.php b/src/MerkleRootCalculator.php similarity index 98% rename from src/MerkleRoot.php rename to src/MerkleRootCalculator.php index 4c7f310..27bb32d 100644 --- a/src/MerkleRoot.php +++ b/src/MerkleRootCalculator.php @@ -6,7 +6,7 @@ * Date: 03.05.2023 */ -class MerkleRoot +class MerkleRootCalculator { /** * Calcola il Merkle Root