Skip to content
Snippets Groups Projects
Commit a2375ec5 authored by saintdi25u's avatar saintdi25u
Browse files

Merge branch 'feat-transaction' of...

Merge branch 'feat-transaction' of https://gitlab.univ-lorraine.fr/corentin.saint-dizier1/blockchain-project into feat-transaction
parents 754a6cef bbecea85
No related branches found
No related tags found
No related merge requests found
......@@ -49,6 +49,15 @@ public class Blockchain {
double amountWalletSender = walletSender.getUtxos().stream().mapToDouble(utxo -> utxo.getMontant()).sum();
double randomAmountToSend = new Random().nextDouble(amountWalletSender);
System.out.println("Amount to send : " + randomAmountToSend);
System.out.println("Envoie de " + walletSender.getName() + " à " +
walletReceiver.getName());
System.out.println();
System.out.println("Utxos de " + walletSender.getName() + " : " +
walletSender.getUtxos());
System.out.println("Utxos de " + walletReceiver.getName() + " : " +
walletReceiver.getUtxos());
System.out.println();
if (walletSender.getUtxos().isEmpty() || walletReceiver.getUtxos().isEmpty()) {
System.out.println("Wallets vides");
return;
......
......@@ -20,10 +20,17 @@ import fr.miage.Transaction;
import fr.miage.UTxO;
import fr.miage.Wallet;
import fr.miage.Blockchain;
import fr.miage.Coinbase;
import fr.miage.EnumTypeTransaction;
import fr.miage.Transaction;
import fr.miage.UTxO;
public class Bloc {
private String hash;
private List<Transaction> transactions; // transaction à insérer dans le bloc
private String header; // Contient le nonce et le hash du bloc précédent
private Coinbase coinbase;
public Bloc(String hash, List<Transaction> transactions) {
......@@ -80,13 +87,28 @@ public class Bloc {
transactions.add(coinbase);
}
// System.out.println("Set UTxO INITIAL " + Blockchain.utxos);
BlocHeader blocHeader = new BlocHeader("", "", Instant.now().toEpochMilli());
String header = blocHeader.toString();
String hash = MinageManager.generateHash(header, 0.0);
return new Bloc(hash, transactions);
}
BlocHeader blocHeader = new BlocHeader("", Instant.now().toEpochMilli(), 0);
String header = blocHeader.toString();
String hash = generateHash(header, transactions);return new Bloc(hash,transactions);
}
public static Bloc createBloc(List<Transaction> transactions, String previousHash) {
BlocHeader blocHeader = new BlocHeader(previousHash, Instant.now().toEpochMilli(), 0);
String header = blocHeader.toString();
String hash = generateHash(header, transactions);
return new Bloc(hash, transactions);
}
private static String generateHash(String header, List<Transaction> transactions) {
return DigestUtils.sha256Hex(header + transactions.toString());
}
public String getTransactionsString() {
StringBuilder sb = new StringBuilder();
for (Transaction transaction : this.transactions) {
......
package fr.miage.threads;
<<<<<<< HEAD
import java.security.NoSuchAlgorithmException;
=======
>>>>>>> bbecea85ece93e9327a7cf897cc7bc8973d7bee6
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
......@@ -8,7 +11,10 @@ import java.util.List;
import fr.miage.Blockchain;
import fr.miage.MinageManager;
import fr.miage.Transaction;
<<<<<<< HEAD
import fr.miage.Wallet;
=======
>>>>>>> bbecea85ece93e9327a7cf897cc7bc8973d7bee6
import fr.miage.blocs.Bloc;
public class Mineur extends Thread {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment