Jak uratowaliśmy projekt klienta z Web3 po fiasku platformy sprzedaży tokenów
Niejawny
W trakcie
NestJS, Next.js, MongoDB, next-auth, wagmi, Solidity, TypeScript, Rust
Full-stack blockchain developer

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.

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.


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