From 5a1ef21b06ae34304c0dd433d78c84c5f6538f38 Mon Sep 17 00:00:00 2001
From: corentinstd <corentinstd@gmail.com>
Date: Tue, 16 Jan 2024 17:11:56 +0100
Subject: [PATCH] =?UTF-8?q?mise=20en=20place=20des=20objets=20repr=C3=A9se?=
 =?UTF-8?q?ntant=20la=20blockhain?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 src/main/java/fr/miage/Bloc.java          |  7 +++++++
 src/main/java/fr/miage/Blockchain.java    |  8 ++++++++
 src/main/java/fr/miage/MinageManager.java |  5 +++++
 src/main/java/fr/miage/Transaction.java   | 11 +++++++++++
 src/main/java/fr/miage/UTxO.java          |  8 ++++++++
 src/main/java/fr/miage/Wallet.java        | 17 +++++++++++++++++
 6 files changed, 56 insertions(+)
 create mode 100644 src/main/java/fr/miage/Bloc.java
 create mode 100644 src/main/java/fr/miage/Blockchain.java
 create mode 100644 src/main/java/fr/miage/MinageManager.java
 create mode 100644 src/main/java/fr/miage/Transaction.java
 create mode 100644 src/main/java/fr/miage/UTxO.java
 create mode 100644 src/main/java/fr/miage/Wallet.java

diff --git a/src/main/java/fr/miage/Bloc.java b/src/main/java/fr/miage/Bloc.java
new file mode 100644
index 0000000..f4cffff
--- /dev/null
+++ b/src/main/java/fr/miage/Bloc.java
@@ -0,0 +1,7 @@
+package fr.miage;
+
+import java.util.List;
+
+public class Bloc {
+    private List<Transaction> transactions;
+}
diff --git a/src/main/java/fr/miage/Blockchain.java b/src/main/java/fr/miage/Blockchain.java
new file mode 100644
index 0000000..651cafa
--- /dev/null
+++ b/src/main/java/fr/miage/Blockchain.java
@@ -0,0 +1,8 @@
+package fr.miage;
+
+import java.util.LinkedList;
+
+public class Blockchain {
+    private String name; 
+    private LinkedList<Bloc> blocs;
+}
diff --git a/src/main/java/fr/miage/MinageManager.java b/src/main/java/fr/miage/MinageManager.java
new file mode 100644
index 0000000..17cc574
--- /dev/null
+++ b/src/main/java/fr/miage/MinageManager.java
@@ -0,0 +1,5 @@
+package fr.miage;
+
+public class MinageManager {
+    //TODO
+}
diff --git a/src/main/java/fr/miage/Transaction.java b/src/main/java/fr/miage/Transaction.java
new file mode 100644
index 0000000..bd17ac2
--- /dev/null
+++ b/src/main/java/fr/miage/Transaction.java
@@ -0,0 +1,11 @@
+package fr.miage;
+
+import java.util.List;
+
+public class Transaction {
+    private String id;
+    private List<UTxO> inputs;
+    private List<UTxO> outputs; 
+    private String signature; 
+
+}
diff --git a/src/main/java/fr/miage/UTxO.java b/src/main/java/fr/miage/UTxO.java
new file mode 100644
index 0000000..6275dfb
--- /dev/null
+++ b/src/main/java/fr/miage/UTxO.java
@@ -0,0 +1,8 @@
+package fr.miage;
+
+public class UTxO {
+    //UTXO : Hash qui renvoie a la transaction d'avant
+    private String hashWallet; // hash du wallet
+    private Transaction transaction; // transaction précédente (provenance de l'argent) --> peut etre meme que le hash de la transaction
+    private double montant;
+}
diff --git a/src/main/java/fr/miage/Wallet.java b/src/main/java/fr/miage/Wallet.java
new file mode 100644
index 0000000..7f02c73
--- /dev/null
+++ b/src/main/java/fr/miage/Wallet.java
@@ -0,0 +1,17 @@
+package fr.miage;
+
+import java.util.List;
+
+public class Wallet {
+
+    private String publicKey;
+    private String privateKey; // pour la signature
+    private List<UTxO> utxos;
+
+
+    public Wallet(String publicKey, String privateKey) {
+        this.publicKey = publicKey;
+        this.privateKey = privateKey;
+    }
+    
+}
-- 
GitLab