From e4965e8587fa413140a7301e859f13eb6287b613 Mon Sep 17 00:00:00 2001
From: saintdi25u <corentinstd@gmail.com>
Date: Fri, 15 Mar 2024 11:30:30 +0100
Subject: [PATCH] modification code + ajout readme

---
 Blockchaindiag.drawio.png                  | Bin 0 -> 80467 bytes
 README.md                                  |  69 ++++++++++++++++-----
 blockchain-project.iml                     |   8 +++
 src/main/java/fr/miage/App.java            |   3 +-
 src/main/java/fr/miage/Blockchain.java     |  13 +++-
 src/main/java/fr/miage/MinageManager.java  |   7 +--
 src/main/java/fr/miage/Wallet.java         |   3 +-
 src/main/java/fr/miage/threads/Mineur.java |   2 +-
 target/classes/fr/miage/App.class          | Bin 951 -> 981 bytes
 9 files changed, 76 insertions(+), 29 deletions(-)
 create mode 100644 Blockchaindiag.drawio.png
 create mode 100644 blockchain-project.iml

diff --git a/Blockchaindiag.drawio.png b/Blockchaindiag.drawio.png
new file mode 100644
index 0000000000000000000000000000000000000000..1d3fae5b25e03a72a69547febd0dcfa2fbc8a666
GIT binary patch
literal 80467
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%0A-5?29^>~O>*&}U@~RZ!z<Slowt5M
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
T7k4o*Ffe$!`njxgN@xNAvDxxX

literal 0
HcmV?d00001

diff --git a/README.md b/README.md
index 30afc98..9cb8c84 100644
--- a/README.md
+++ b/README.md
@@ -11,15 +11,15 @@ Avant de passer à la réalisation et au développement de la blockchain, il a 
 
 Pour se faire, nous avons décidé de représenter les différentes entités d'une blockchain en différentes classes : 
 
-    -  Une classe Blockchain, représentant la blockchain dans sa globalité;
-    -  Une classe Bloc, représentant les blocs contenues dans la blockchain;
-    -  Une classe Transaction, représentant une transaction qui sera contenu dans un bloc;
-    -  Une classe Coinbase, qui hérite de Transaction, cette classe va représenter une transaction coinbase dans un bloc;
-    -  Une classe UTxO, représentant le détails des tranasactions
-    -  Une classe Wallet représentant un wallet enregistré sur la blockchain
+-  Une classe Blockchain, représentant la blockchain dans sa globalité;
+-  Une classe Bloc, représentant les blocs contenues dans la blockchain;
+-  Une classe Transaction, représentant une transaction qui sera contenu dans un bloc;
+-  Une classe Coinbase, qui hérite de Transaction, cette classe va représenter une transaction coinbase dans un bloc;
+-  Une classe UTxO, représentant le détails des tranasactions
+-  Une classe Wallet représentant un wallet enregistré sur la blockchain
 
 
-    TODO : METTRE DIAGRAMME DE CLASSE
+![alt text](Blockchaindiag.drawio.png)
 
 ## Réalisation
 
@@ -35,19 +35,54 @@ Plus précisément, lors d'une transaction, les UTx0 outputs de cette dernière
 
 Une transaction est identifé par : 
 
-    - Un ID de transaction;
-    - Un wallet de provenance et un wallet de destination; 
-    - Une liste d'UTxO inputs et une liste d'UTxO outputs;
-    - D'une signature
+- Un ID de transaction;
+- Un wallet de provenance et un wallet de destination; 
+- Une liste d'UTxO inputs et une liste d'UTxO outputs;
+- D'une signature
 
 Au sein de notre blockchain, pour simuler la création d'une transaction, notre programme va éxéuter la suite d'instruction suivante : 
 
-    1) Sélection d'un wallet de provenance et d'un wallet de destination de façon aléatoire
-    2) Séléction d'un montant à envoyer 
-    3) Signature de la transaction par le wallet de provenance
-    4) Vérification de la signature
-    5) Création de la transaction
+1) Sélection d'un wallet de provenance et d'un wallet de destination de façon aléatoire
+2) Sélection d'un montant à envoyer 
+3) Signature de la transaction par le wallet de provenance
+4) Vérification de la signature
+5) Création de la transaction
+
+Une fois les transactions crées nous pouvons passer au minage d'un bloc.
+
+### Minage d'un bloc
+
+Pour le minage d'un bloc, nous avons fais le choix de créer une classe MinageManager avec une fonction `static mineABloc(Bloc bloc)`.
+
+Cette fonction va effectuer les tâches suivantes : 
+
+- Ajouter une coinbase transaction contenant un seul UTxO outputs d'une valeur de 5 qui sera la récompense du mineur qui arrive a miné le bloc.
+- De générer une target 
+- De rentrer dans une boucle et il en sortira seulement dans le cas ou le mineur aura trouvé un hash satisfaisant.
+
+### Assemblage
+
+Une fois les principaux composants de la blockchain modéliser, il a fallu mettre en place un système permettant à la fois de créer des transactions et à la fois de miner un bloc dès lors que notre "pool" de transaction arrive à 50. En effet, dans notre blockchain, le minage d'un bloc se déclenche dès lors que nous avons 50 transactions dans notre "pool".
+
+
+#### Thread : TransactionCreator
+
+Dans notre classe `TransactionCreator` qui étend de `Thread`, il va appeler la fonction static `createTransaction` de la classe `Blockchain` toute les 1 seconde.
+
+#### Thread : Mineur
+
+Notre classe `Mineur` qui étend de `Thread` effectue un peu plus de traitement. En effet, le traitement est le suivant : 
+
+1) On récupére le dernier bloc de la blockchain
+2) On récupère les 50 dernières transactions
+3) On créer le bloc qui contient les transactions et le hash du bloc précédent
+4) On mine le bloc comme expliqué ci-dessus.
+
+### Conclusion
+
+Le développement de notre blockchain a été une expérience intéressante. Il nous a permis de développé une compréhension des principes fondamentaux d'une blockchain ainsi que son potentiel pour révolutionner plusieurs secteurs grâce à sa transparense, sa sécurité et sa décentralisation. 
+
+
 
-Une fois les transactions crées nous pouvons passer au minage d'un bloc....
 
 
diff --git a/blockchain-project.iml b/blockchain-project.iml
new file mode 100644
index 0000000..3b0c98f
--- /dev/null
+++ b/blockchain-project.iml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module version="4">
+  <component name="AdditionalModuleElements">
+    <content url="file://$MODULE_DIR$" dumb="true">
+      <excludeFolder url="file://$MODULE_DIR$/.idea/copilot/chatSessions" />
+    </content>
+  </component>
+</module>
\ No newline at end of file
diff --git a/src/main/java/fr/miage/App.java b/src/main/java/fr/miage/App.java
index 0b47048..09f8cd9 100644
--- a/src/main/java/fr/miage/App.java
+++ b/src/main/java/fr/miage/App.java
@@ -10,8 +10,7 @@ import fr.miage.threads.TransactionCreator;
 public class App {
     public static synchronized void main(String[] args) throws NoSuchAlgorithmException, InterruptedException {
 
-        Blockchain blockchain = new Blockchain("Blockchain de Jérémy BRODIER et Corentin SAINT-DIZIER");
-
+        Blockchain blockchain = Blockchain.getInstance("Blockchain de Jérémy BRODIER et Corentin SAINT-DIZIER");
         TransactionCreator transactionCreator = new TransactionCreator(blockchain);
         Mineur mineur = new Mineur(blockchain);
         transactionCreator.start();
diff --git a/src/main/java/fr/miage/Blockchain.java b/src/main/java/fr/miage/Blockchain.java
index d9cda31..fb7f5c1 100644
--- a/src/main/java/fr/miage/Blockchain.java
+++ b/src/main/java/fr/miage/Blockchain.java
@@ -16,13 +16,15 @@ import java.util.Set;
 import fr.miage.blocs.Bloc;
 
 public class Blockchain {
+
+    private static Blockchain instance = null;
     private String name;
     private LinkedList<Bloc> blocs;
     private List<Wallet> wallets;
     public static Set<UTxO> utxos = new HashSet<>();
     public static Set<Transaction> transactionsPool = new HashSet<>();
 
-    public Blockchain(String name) throws NoSuchAlgorithmException, InterruptedException {
+    private Blockchain(String name) throws NoSuchAlgorithmException, InterruptedException {
         this.name = name;
         this.wallets = setupWallet();
         // Création du premier bloc contenant les transactions de coinbase
@@ -32,7 +34,14 @@ public class Blockchain {
             }
         };
         ;
-        System.out.println("[BLOC] --- Hash du genesis bloc : " + this.blocs.getFirst().getHash());
+    }
+
+    public static Blockchain getInstance(String name) throws NoSuchAlgorithmException, InterruptedException {
+        if (instance == null) {
+            instance = new Blockchain(name);
+        }
+        return instance;
+
     }
 
     public List<Wallet> setupWallet() throws NoSuchAlgorithmException, InterruptedException {
diff --git a/src/main/java/fr/miage/MinageManager.java b/src/main/java/fr/miage/MinageManager.java
index ee068ff..1bfad92 100644
--- a/src/main/java/fr/miage/MinageManager.java
+++ b/src/main/java/fr/miage/MinageManager.java
@@ -17,12 +17,9 @@ import fr.miage.blocs.BlocHeader;
 
 public class MinageManager {
 
-    private static final int DIFFICULTY = 6;
-    private static double MAX_NONCE = Math.pow(2, 32);
-    private Blockchain blockchain;
+    private static final int DIFFICULTY = 5;
 
-    public MinageManager(Blockchain blockchain) {
-        this.blockchain = blockchain;
+    public MinageManager() {
     }
 
     public static void mineABloc(Bloc bloc) {
diff --git a/src/main/java/fr/miage/Wallet.java b/src/main/java/fr/miage/Wallet.java
index 47d0cff..ba422e5 100644
--- a/src/main/java/fr/miage/Wallet.java
+++ b/src/main/java/fr/miage/Wallet.java
@@ -9,7 +9,6 @@ import java.util.List;
 
 public class Wallet {
     private KeyPair keyPair;
-    private double solde;
     private List<UTxO> utxos;
     private String name; // temp
 
@@ -69,7 +68,7 @@ public class Wallet {
 
     @Override
     public String toString() {
-        return "Wallet [keyPair=" + keyPair + ", solde=" + solde + ", utxos=" + utxos + ", name=" + name + "]";
+        return "Wallet [keyPair=" + keyPair + ", utxos=" + utxos + ", name=" + name + "]";
     }
 
     public KeyPair getKeyPair() {
diff --git a/src/main/java/fr/miage/threads/Mineur.java b/src/main/java/fr/miage/threads/Mineur.java
index 82cadd9..4ce51f4 100644
--- a/src/main/java/fr/miage/threads/Mineur.java
+++ b/src/main/java/fr/miage/threads/Mineur.java
@@ -34,8 +34,8 @@ public class Mineur extends Thread {
 
                     System.out.println("[MINAGE] -- Minage du bloc....");
                     Bloc bloc = new Bloc(transactions, previousBloc.getHash());
-                    MinageManager.mineABloc(bloc);
                     Blockchain.transactionsPool.removeAll(transactions);
+                    MinageManager.mineABloc(bloc);
                     transactions.clear();
                     if (bloc != null) {
                         blockchain.addBloc(bloc);
diff --git a/target/classes/fr/miage/App.class b/target/classes/fr/miage/App.class
index 1388792d8d6fb77aefb8a404c65223d66c2edde7..01a6e190c4e3380acf2bd19f9ed4efe3719e9b64 100644
GIT binary patch
delta 306
zcmdnaewCf;)W2Q(7#J8F8H_h_u`n`oFo;doVzgnCV31;Gken>YC?>|kAk84d$iSVR
zTH={kT#}fVoXW_cIk}KgM8YSnNIy3-F+Ek^DJMTUJ2@jUGtZixL2hy<qXvg8g8~l&
zD}&<Xos6>P%8U%+aK$AVMX8A?#rnRPd8wsETntJK3S11b3~D?K>I`g*46MZ^iA5zK
zVYSV?Omd9%wG7M*EDQ_`ibA407{q;cGss42Z)cGA-OZo`VyO7(Y-3Q>-NvA?k%57M
ziGhoOfkBFaje&uImw}CekAa_opFx5_fI)^qkU@b#n1P#tfk6vmAcH1@76StV8-p~1
lHiHfWBLhE!5Q8p*9s?7D1Oq37K7#=RGXp0hgCW>pBLHRUG@bwe

delta 285
zcmcc0zMY-x)W2Q(7#J8F8H_e^u`tT8Gl(%V2&Wb4=Vm6Rr|LW9<R@n*XC!9kaWF_s
z7G$(h7G;p)VPIvDW@Hf6@X1OnOVrOv%uCk~E-A{)OSjexV`q?^yqZyiLxw>fq)uV-
zZAMu}rO7`TWuz1t<hdAR7*u%})EL+p8CZ);5{pW>7!(;)H|sOWG1fOSFf*_)Ffgd@
zW)O`O65q}s>9d<bCQ^GlgPiYf21O7<*-vL1gNp7p2K9{$3=B*RTnr2hQVeVi3=F&s
zTnzjS!VCfoG7N$Y3JgLFDhwhF+zbp1S`b4SG#E4)7#O%1q#3jrv>6x~gc*bwbQp9Q
Ym>6UjI2rU9c=Z{W85kK1zy=!v0HrxEF8}}l

-- 
GitLab