blockchain

tl;dr

  • Zbudowaliśmy od nowa platformę do krypto-fundraisingu po poważnych problemach ze stabilnością i bezpieczeństwem.

  • Nowy system powstał w oparciu o NestJS, Next.js i Solidity, z opcjonalnymi kontraktami w Rust dla Solany.

  • Platforma bezproblemowo obsłużyła pierwszą dużą sprzedaż tokenów – bez przestojów (zero downtime).

Technologie

  • Backend: NestJS

  • Frontend: Next.js

  • Baza danych: MongoDB

  • Uwierzytelnianie: next-auth (standard) oraz wagmi (Web3)

  • Blockchain: smart kontrakty oparte o Solidity, ze skryptami i testami w TypeScript

  • Część smart kontraktów została też napisana w Rust z myślą o potencjalnym, przyszłym wdrożeniu na Solanie.

Co zbudowaliśmy

Zbudowaliśmy platformę, która umożliwia projektom krypto prowadzenie sprzedaży tokenów. Projekt może uruchomić kampanię, w której oferuje tokeny w promocyjnej cenie. Zbiórka środków odbywa się poprzez smart kontrakty i jest podzielona na kilka faz – każda z własnym modelem opłat i ustawieniami.

Na koniec kampanii zebrane środki trafiają do projektu, a operator platformy pobiera opłaty. Kupujący otrzymują tokeny zgodnie z harmonogramem vestingu – na przykład 50% od razu, a następnie 10% co miesiąc przez kolejne 5 miesięcy.

Platforma składa się z czterech głównych komponentów:

  • Frontend – interfejs użytkownika

  • Backend frontendu – warstwa pośrednicząca (proxy) dla frontendu

  • Główny backend – obsługuje logikę biznesową i dane kampanii

  • Backend operacyjny – odpowiada za podpisywanie i walidację transakcji blockchain, aktualizowanie statusów kampanii oraz zarządzanie główną logiką

Dodatkowo powstał panel administracyjny (w Next.js) do zarządzania kampaniami i konfiguracją ustawień. 

Wyzwania

Największym wyzwaniem była współpraca z zewnętrznymi deweloperami dostarczonymi przez klienta – część ich pracy wymagała gruntownych poprawek lub stałego nadzoru:

  • Backend był niestabilny i pełen błędów

  • Frontend również miał wiele błędów, a wszystkie lintery były wyłączone, żeby w ogóle dało się wdrażać kolejne wersje

  • Niektórych komponentów nie dało się uruchomić wcale – nawet przez własny zespół klienta

  • Jakość kodu była nierówna: słaba struktura i minimalne testowanie

  • W kilku przypadkach terminy produkcyjne się przesuwały, bo krytycznych błędów nie dało się naprawić na czas. Powtarzającym się problem były niespójności oraz brak odpowiedzialności za kod.

Jak to rozwiązaliśmy

Problemy były wielokrotnie zgłaszane podczas rozmów z klientem, wraz ze szczegółowym feedbackiem i przykładami. Z czasem doprowadziło to do zmian w sposobie organizacji zespołu. Od tego momentu klient zdecydował się współpracować wyłącznie z zespołami wewnętrznymi lub zaufanymi partnerami jak Pragmatic Coders.

Podjęto też decyzję o przebudowie produktu od zera.

Decyzja zapadła po przeglądzie istniejącego codebase’u: zawierał on rozległe problemy składniowe i strukturalne, przez co praktycznie nie dało się go utrzymywać ani rozwijać. Nikt po stronie klienta nie był w stanie uruchamiać go w sposób powtarzalny i niezawodny.

Dodatkowo pojawiały się cykliczne awarie platformy spowodowane lukami bezpieczeństwa – m.in. atakami DDoS ze strony sprawcy, który żądał zapłaty za zaprzestanie zakłócania sprzedaży tokenów. Po kilku takich incydentach klient zdecydował się na bezpieczną przebudowę.

Nowa platforma ma już za sobą pierwszą oficjalną sprzedaż tokenów. Przeprowadziliśmy ją stabilnie, bez poważnych problemów nawet przy dużym obciążeniu ruchem.

Rezultaty

Najważniejsze usprawnienia:

  • Pełny redesign UI – przebudowaliśmy niemal każdy ekran

  • Backend przepisany od zera – poprzednią wersję odrzucono ze względu na problemy jakościowe

  • Smart kontrakty w większości napisane na nowo

  • Pełne wsparcie konfiguracji faz kampanii, opłat oraz harmonogramów uwalniania tokenów (vesting)

Spis treści

Newsletter

Opowiadamy o biznesie, projektowaniu i zarządzaniu produktem, programowaniu, AI – i więcej.

ZAJRZYJ DO ŚRODKA

Porozmawiajmy!

Napisz do nas

Skontaktuj się z nami przez poniższy formularz. Odpowiemy tak szybko, jak to możliwe.

Umów spotkanie

Możesz też umówić się na spotkanie online z Wojciechem lub Konradem, naszymi konsultantami biznesowymi.

Wojciech Kniżewski

Senior Business Consultant

Tel. +48 793 550 906

Konrad Głowacki

Senior Business Development Manager

8 na 10

osób, które się z nami skontaktowały, chciało współpracować z naszym zespołem.

Zaufani partnerzy biznesowi