Dokument wymagań funkcji depozytu kryptowalut (PRD)
Przegląd projektu
Celem tej funkcji jest zapewnienie administratorom systemu możliwości zarządzania wieloma adresami depozytów kryptowalut oraz dynamicznego przypisywania nieużywanych adresów użytkownikom podczas procesu depozytu. Administratorzy mogą przesyłać i zarządzać wieloma adresami depozytów przez panel administracyjny. Gdy użytkownik wybierze odpowiednią kryptowalutę, system przypisze mu ważny adres z bazy danych. Okres ważności adresu depozytu może być ustawiony przez administratora.
Wymagania funkcjonalności systemu:
Administratorzy ręcznie przesyłają adresy depozytów i zarządzają wieloma adresami portfeli.
Gdy użytkownik wybierze kryptowalutę, system losowo przypisze nieużywany adres z puli ważnych adresów.
Adres depozytu zostanie przypisany użytkownikowi, a jego okres ważności będzie ustawiony przez administratora. Po pomyślnym depozycie lub wygaśnięciu czasu adres zostanie automatycznie zwolniony do ponownego użycia przez innych użytkowników.
Po zakończeniu depozytu saldo użytkownika zostanie automatycznie zaktualizowane.
Wymagania funkcjonalne
2.1 Przesyłanie i zarządzanie adresami portfeli
Opis wymagań:
Administratorzy mogą ręcznie przesyłać wiele adresów depozytów kryptowalut przez panel administracyjny, obsługując główne kryptowaluty i sieci.
Adresy zawierają typ kryptowaluty, sieć, adres depozytu oraz okres ważności.
Administratorzy mogą wybierać z predefiniowanych kryptowalut i sieci z rozwijanego menu, ręcznie przesyłać adresy i ustawiać ich okresy ważności.
Okres ważności każdego adresu jest ustawiany przez administratora (np. 10 minut, 30 minut), aby zapobiec pozostawianiu nieużywanych adresów na zbyt długo.
Wszystkie informacje o adresach będą przechowywane w bazie danych, a administratorzy będą mogli przeglądać status i użycie każdego adresu.
2.2 Przypisywanie adresów i depozyt użytkownika
Opis wymagań:
Po wybraniu kryptowaluty przez użytkownika, system losowo przypisze ważny adres z bazy danych do depozytu.
Okres ważności adresu jest ustawiany przez administratora (np. 10 minut). W tym okresie adres może być używany tylko przez jednego użytkownika.
System wykryje, czy adres otrzymał depozyt, a po potwierdzeniu środków zaktualizuje saldo USD użytkownika.
2.3 Zasady zajmowania adresów
Opis wymagań:
Każdy adres może być używany tylko przez jednego użytkownika. Jeśli adres jest przypisany do użytkownika, nie może być używany przez innego podczas okresu ważności.
System oznaczy adres jako "zajęty" i uniemożliwi innym użytkownikom jego wybór.
Jeśli okres ważności adresu wygaśnie i nie zostanie użyty, system automatycznie zwolni adres i oznaczy go jako "dostępny".
2.4 Wygaśnięcie i zwolnienie adresu
Opis wymagań:
System automatycznie zwolni adres po wygaśnięciu jego okresu ważności. Jeśli adres nie został użyty, wróci do statusu "dostępny".
Zwolnione adresy będą ponownie dostępne w puli adresów do przypisania kolejnemu użytkownikowi.
2.5 Monitorowanie depozytów i aktualizacja salda
Opis wymagań:
Po rozpoczęciu depozytu przez użytkownika, system będzie monitorować status na blockchainie, aby wykryć, czy środki zostały otrzymane na adresie.
Po potwierdzeniu depozytu, platforma przeliczy kwotę depozytu na USD według aktualnego kursu wymiany i zaktualizuje saldo użytkownika.
System musi zapewnić dokładność kwoty depozytu i zapobiec utracie środków lub błędnym depozytom.
2.6 Rejestrowanie i zarządzanie adresami
Opis wymagań:
System będzie rejestrował użycie każdego adresu depozytu, w tym adres, typ kryptowaluty, sieć, status, przypisany użytkownik, okres ważności, czas depozytu itp.
Administratorzy mogą przeglądać status każdego adresu (np. zajęty/dostępny) oraz przeglądać historię depozytów.
Administratorzy mogą ręcznie zarządzać adresami, np. usuwać lub modyfikować ich okres ważności.
2.7 Funkcje administratora
Opis wymagań:
Administratorzy mogą wykonywać następujące operacje na panelu administracyjnym:
Tworzenie adresów portfeli: Ręczne przesyłanie nowych adresów depozytów kryptowalut i powiązanie ich z kryptowalutą i siecią.
Ustawianie okresu ważności: Ustawianie okresu ważności dla każdego adresu depozytu i jego dynamiczna modyfikacja w razie potrzeby.
Przeglądanie statusu użycia adresu: Podgląd statusu każdego adresu, w tym czy jest zajęty, jego okres ważności i status depozytu.
Przeglądanie historii depozytów: Przeglądanie historycznych zapisów depozytów dla każdego adresu w celu ułatwienia zarządzania i śledzenia.
2.8 Weryfikacja dwuetapowa (2FA) przy dodawaniu, modyfikacji i usuwaniu adresów
Opis wymagań:
Aby zwiększyć bezpieczeństwo, każda operacja dodania, modyfikacji lub usunięcia adresu musi przejść weryfikację dwuetapową (2FA).
Podczas dodawania, modyfikacji lub usuwania adresu depozytu system będzie wymagał potwierdzenia 2FA.
Potwierdzenie 2FA można wykonać za pomocą metod takich jak SMS, e-mail lub aplikacja (np. Google Authenticator).
Operacja zostanie wykonana tylko po pomyślnym potwierdzeniu 2FA. W przypadku niepowodzenia weryfikacji, operacje na adresach (dodanie, modyfikacja, usunięcie) nie będą możliwe.
Projekt systemu
3.1 Projekt pamięci podręcznej Redis
Projekt pamięci podręcznej:
Klucz pamięci podręcznej:
Wygaśnięcie pamięci podręcznej:
3.2 Monitorowanie depozytów i przepływ pracy systemu
Przepływ pracy monitorowania depozytów:
Gdy użytkownik wybierze kryptowalutę i rozpocznie depozyt, system losowo przypisze ważny adres.
System ustawi okres ważności adresu, który może być używany tylko przez jednego użytkownika w tym czasie.
System będzie monitorować depozyt za pomocą mechanizmu nasłuchiwania blockchaina.
Po otrzymaniu środków system potwierdzi, że adres należy do użytkownika, przeliczy kwotę depozytu na USD według aktualnego kursu i zaktualizuje saldo użytkownika.
Przepływ pracy zwolnienia adresu:
Jeśli okres ważności adresu wygaśnie bez użycia, system automatycznie go zwolni i oznaczy jako "dostępny".
Zwolniony adres wróci do puli adresów do ponownego przypisania kolejnemu użytkownikowi.
Wymagania niefunkcjonalne
4.1 Wymagania wydajnościowe
System powinien obsługiwać wysoką równoczesność, szczególnie podczas szczytowych czasów depozytów użytkowników, umożliwiając szybkie przypisywanie, monitorowanie i zwalnianie adresów.
System musi zapewnić płynne doświadczenie użytkownika podczas procesu depozytu i unikać opóźnień, które mogłyby negatywnie wpłynąć na użytkownika.
4.2 Wymagania bezpieczeństwa
Wszystkie operacje związane z adresami depozytów muszą przejść kontrole autoryzacji, aby zapobiec dostępowi nieuprawnionych użytkowników do przeglądania lub modyfikowania adresów portfeli.
Operacje wrażliwe, takie jak korzystanie z adresów depozytów i monitorowanie depozytów, muszą być szyfrowane, aby zapewnić bezpieczeństwo środków użytkowników.
Proces depozytu, w tym przenoszenie środków i konwersja kursu wymiany, musi być ściśle weryfikowany i szyfrowany, aby zapobiec utracie środków lub błędnym operacjom.
Dodawanie, modyfikacja i usuwanie adresów musi być potwierdzane za pomocą 2FA, aby zapewnić bezpieczeństwo zarządzania adresami.
4.3 Skalowalność
Uwaga:
Ten PRD ma na celu pomóc w zrozumieniu wymagań. Treść tutaj zawarta jest wyłącznie do celów informacyjnych.