Skip to content

2023 m. / ISI 2 kurso Blokų Grandinių Technologijų užduotis

Notifications You must be signed in to change notification settings

N0rmalus/blockchain

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

blockchain

Ši programa simuliuoja blokų grandinės veikimą. Ji įgyvendina paprastą bloko, transakcijų ir naudotojų modelį, leidžiantį stebėti, kaip vyksta blokų kasyba ir transakcijų vykdymas.

v0.2 (naujausia)

Funkcionalumas

  • Pridėta transakcijų verifikacija, kuri patikrina:
    • Ar naudotojas turi pakankamą balansą atlikti pervedimą (Jei turi, ta suma yra nuimama nuo balanso, jei neturi - pervedimas neįvykdomas)
    • Ar tranksakcijos informacijos hash'as sutampa su transakcijos ID
  • Pridėtas kasimo laiko matavimas, kuris tikrina, ar duotas laikas yra pakankamas blokui iškasti

v0.1

Funkcionalumas

  1. Blokų heneravimas: programa automatiškai generuoja blokus su atsitiktiniais naudotojais ir transakcijomis. Kiekvienas blokas turi savo unikalų identifikatorių, laikotarpį, versiją, Merkle šaknį ir kita informaciją.
  2. Transakcijų vykdymas: sugeneruotos transakcijos yra vykdomos kaskart iškasant naują bloką. Kiekviena transakcija turi unikalų identifikatorių, siuntėją, gavėją ir sumą.
  3. Naudotojų balansų atnaujinimas: po kiekvieno bloko iškėlimo naudotojų balansai yra atnaujinami pagal transakcijas.
  4. Blokų informacijos išvedimas: programa leidžia peržiūrėti iškastų blokų informaciją, tokią kaip ankstesnio bloko hash, laikotarpį, versiją, Merkle hash'ą ir t.t.
  5. Naudotojų informacijos išvedimas: galima peržiūrėti visus naudotojus ir jų dabartinius balansus.

  1. Blokų Stebėjimas: Iškastų blokų informaciją galima išgauti su printBlocks() funkcija.
    container.printBlocks();
    
  2. Naudotojų Stebėjimas: Naudotojų informacija gali būti gauta iškviečiant printUsers() funkciją.
    block.printUsers();
    

Pastabos

  • Kadangi mano sukurta hash funkcija buvo pakankamai lėta su difficulty_target trimis nuliais ir daugiau, naudojau kitą, neapsakomai efektyvę ir atsitiktinę, hash funkciją (Lauritos)

About

2023 m. / ISI 2 kurso Blokų Grandinių Technologijų užduotis

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages