Własny silnik blockchain na .NET — własna sieć blockchain z kopaniem
Zrealizowałem od podstaw pełnoprawny silnik blockchain na C# / .NET z podziałem na osobne moduły: rdzeń sieci, górnik i portfele.
Rdzeń odpowiada za łańcuch bloków, transakcje, weryfikację integralności oraz konsensus oparty na Proof of Work (konfigurowalna trudność, weryfikacja ważności każdego bloku). Zrealizowano strukturę bloków i transakcji, bilansowanie sald portfeli, mempool, liczenie potwierdzeń transakcji, mechanizm nagrody dla górnika oraz halving nagrody za blok.
Osobna aplikacja konsolowa-górnik łączy się z węzłem, wydobywa nowe bloki i otrzymuje nagrodę na swój portfel. Moduł portfeli odpowiada za generowanie kluczy/adresów, podpisywanie i weryfikację transakcji, przeglądanie salda oraz historii operacji.
Byłem autorem architektury i głównym programistą: zaprojektowałem model blockchaina, podział na usługi i biblioteki, napisałem cały kod i skonfigurowałem wygodną strukturę rozwiązania do dalszego rozszerzenia (na przykład o poziom smart kontraktów i interfejs webowy).
Wykorzystane technologie: C#, .NET, aplikacje konsolowe, biblioteki klas, kryptografia (SHA-256, podpisy cyfrowe), programowanie obiektowe, serializacja JSON.
Rdzeń odpowiada za łańcuch bloków, transakcje, weryfikację integralności oraz konsensus oparty na Proof of Work (konfigurowalna trudność, weryfikacja ważności każdego bloku). Zrealizowano strukturę bloków i transakcji, bilansowanie sald portfeli, mempool, liczenie potwierdzeń transakcji, mechanizm nagrody dla górnika oraz halving nagrody za blok.
Osobna aplikacja konsolowa-górnik łączy się z węzłem, wydobywa nowe bloki i otrzymuje nagrodę na swój portfel. Moduł portfeli odpowiada za generowanie kluczy/adresów, podpisywanie i weryfikację transakcji, przeglądanie salda oraz historii operacji.
Byłem autorem architektury i głównym programistą: zaprojektowałem model blockchaina, podział na usługi i biblioteki, napisałem cały kod i skonfigurowałem wygodną strukturę rozwiązania do dalszego rozszerzenia (na przykład o poziom smart kontraktów i interfejs webowy).
Wykorzystane technologie: C#, .NET, aplikacje konsolowe, biblioteki klas, kryptografia (SHA-256, podpisy cyfrowe), programowanie obiektowe, serializacja JSON.