/// <summary>Si aggancia all'ultimo blocco disponibile e genera tutto il necessario per inserire in coda il blocco che si sta creando.</summary> /// <param name="blocco">Blocco della catena generato dal costruttore</param> #endregion public void AggiungiBlocco(Blocco blocco) { // prende i dati inerenti al blocco precedente rispetto a quello da aggiungere var ultimoBlocco = GetUltimoBlocco(); // aumenta l'indice del blocco +1 rispetto a precedente blocco.Indice = ultimoBlocco.Indice + 1; // calcola il suo hash partendo da quello del precedente blocco.HashPrecedente = ultimoBlocco.HashBloccoCorrente; // dopo aver inserito difficoltà posso effettuare il mining blocco.Mina(Difficoltà); // aggiunge il blocco alla catena Catena.Add(blocco); }
public void AggiungiBlocco(Blocco blocco) { //prende i dati inerenti al blocco precedente rispetto a quello da aggiungere Blocco latestBlock = GetUltimoBlocco(); //aumenta l'indice del blocco +1 rispetto a precedente blocco.Indice = latestBlock.Indice + 1; // calcola il suo hash partendo da quello del precedente blocco.HashPrecedente = latestBlock.HashAttuale; //instruzione non necessaria quando si introduce il concetto di MINING //blocco.HashAttuale = blocco.CalcolaHash(); //dopo aver inserito difficoltà posso integrare operazioni di mining blocco.Mina(Difficoltà); //aggiunge il blocco alla catena Catena.Add(blocco); }
public void AggiungiBlocco() { Catena.Add(AggiungiBLocco()); }
//con l'implementazione della classe transazione non è più necessario //public Blocco AggiungiBlocco() //{ // //aggiungo un blocco passando al costruttore (data, il valore dell'hash precedente, transazione) // return new Blocco(DateTime.Now, null, "{}"); //} public void AggiungiBloccoIniziale() { //Catena.Add(AggiungiBlocco()); Catena.Add(CreaBloccoIniziale()); }