Dokumentacja konfiguracji

Usługi

Uruchomienie instancji Private Channels oznacza zarządzanie następującymi usługami Docker Compose:

KontenerRola
private-channel-postgres-primaryBaza danych stanu węzła zapisu (PostgreSQL 16)
private-channel-postgres-replicaBaza danych stanu węzła odczytu (replika strumieniowa)
private-channel-postgres-indexerBaza danych indeksera i operatora
private-channel-write-nodeOdbiera i wykonuje transakcje (port 8900, tylko pętla zwrotna)
private-channel-read-nodeObsługuje zapytania odczytu RPC (port 8901, tylko pętla zwrotna)
private-channel-gatewayKieruje żądania między węzłami zapisu i odczytu; egzekwuje RBAC (port 8899)
private-channel-indexer-solanaMonitoruje Solana pod kątem zdarzeń Deposit za pośrednictwem Yellowstone gRPC
private-channel-indexer-private-channelMonitoruje kanał pod kątem zdarzeń Burn poprzez odpytywanie RPC
private-channel-operator-solanaMintuje tokeny kanału po potwierdzeniu depozytów
private-channel-operator-private-channelWywołuje ReleaseFunds na Mainnecie po potwierdzeniu wypłat
private-channel-authOpcjonalna usługa JWT/RBAC (profil Docker: auth)

Kontenery obserwacyjne (prometheus, grafana, cadvisor) są również uwzględnione.

Gateway

Poniższe wartości mają rozsądne ustawienia domyślne dla konfiguracji Docker Compose w sieci devnet. Nadpisuj je tylko wtedy, gdy uruchamiasz bramę poza Dockerem lub wdrażasz na produkcję.

Zmienna środowiskowaDomyślnaWymaganaOpis
GATEWAY_PORT8899 (devnet)NiePort nasłuchu
GATEWAY_WRITE_URLhttp://write-node:8900 (wartość z pliku env devnet; brak domyślnej wartości binarnej)TakURL węzła zapisu – żądania sendTransaction są tu kierowane
GATEWAY_READ_URLhttp://read-node:8901 (wartość z pliku env devnet; brak domyślnej wartości binarnej)TakURL węzła odczytu – wszystkie pozostałe metody RPC są tu kierowane
GATEWAY_CORS_ALLOWED_ORIGIN*NieWartość nagłówka Access-Control-Allow-Origin
JWT_SECRET-NieWłącza RBAC; musi być zgodny z JWT_SECRET usługi auth
AUTH_DATABASE_URL-Jeśli ustawiono JWT_SECRETBaza danych auth do weryfikacji własności portfela
AUTH_DATABASE_MAX_CONNECTIONS10NieRozmiar puli połączeń bazy danych auth
METRICS_PORT9101NiePort metryk Prometheus
RUST_LOGinfoNiePoziom logowania

GATEWAY_WRITE_URL i GATEWAY_READ_URL używają nazw hostów usług Docker Compose (write-node, read-node) podczas działania w Dockerze. Używaj odpowiedników localhost tylko wtedy, gdy uruchamiasz binarkę bramy bezpośrednio poza Dockerem.

Wbudowana domyślna wartość binarki bramy dla GATEWAY_PORT to 8898. Zarówno .env.example, jak i .env.devnet ustawiają ją na 8899, co jest wartością faktycznie używaną przez konfigurację Docker Compose (plik versions.env zawiera wyłącznie wersje łańcucha narzędzi i obrazów, nie porty usług). Domyślna wartość 8898 ma zastosowanie tylko wtedy, gdy uruchamiasz binarkę bezpośrednio bez pliku env.

GATEWAY_CORS_ALLOWED_ORIGIN domyślnie przyjmuje wartość *, co pozwala każdemu źródłu wywoływać bramę z przeglądarki. Ogranicz tę wartość do rzeczywistego źródła swojej aplikacji przed jakimkolwiek wdrożeniem produkcyjnym.

Węzeł zapisu i węzeł odczytu

Pełna dokumentacja konfiguracji węzła zapisu i węzła odczytu znajduje się w docs/CONFIG.md w repozytorium.

Usługa Auth

Zmienna środowiskowaWymaganaOpis
JWT_SECRETTakKlucz podpisujący HS256; musi być zgodny z JWT_SECRET bramy
AUTH_PORTNie (domyślnie 8903)Port nasłuchu
AUTH_DATABASE_URLTakCiąg połączenia PostgreSQL dla bazy danych auth
CORS_ALLOWED_ORIGINNie (domyślnie *)Wartość nagłówka Access-Control-Allow-Origin dla tej usługi (niezależna od GATEWAY_CORS_ALLOWED_ORIGIN bramy)
AUTH_DATABASE_MAX_CONNECTIONSNie (domyślnie 10)Rozmiar puli połączeń bazy danych auth

Dokumentacja portów usług

UsługaPort hostaPowiązanie
Gateway8899Wszystkie interfejsy
Węzeł zapisu8900Tylko pętla zwrotna
Węzeł odczytu8901Tylko pętla zwrotna
Streamer8902Tylko wewnętrzny (expose, niepublikowany do hosta); nie jest częścią stosu devnet
Usługa Auth8903Wszystkie interfejsy
Metryki operatora9102, 9103Wszystkie interfejsy
Grafana37429Wszystkie interfejsy
Prometheus9090Wszystkie interfejsy
cAdvisor8080Wszystkie interfejsy

Uwaga dotycząca bezpieczeństwa: Porty węzła zapisu i węzła odczytu są powiązane wyłącznie z pętlą zwrotną (127.0.0.1). Gateway, usługa Auth, metryki operatora, Grafana, Prometheus i cAdvisor są publikowane na każdym interfejsie sieciowym w konfiguracji Docker Compose devnet. Zabezpiecz je zaporą na poziomie hosta lub sieci dla wszystkich środowisk wykraczających poza lokalne środowisko deweloperskie; RBAC obejmuje wyłącznie własne metody JSON-RPC bramy, a nie te pozostałe usługi. Wyjątkiem jest Streamer: jest to nieuwierzytelniony wewnętrzny strumień danych, który Docker nigdy nie publikuje do hosta.

Wymagania sieciowe

Zasady zapory ogniowej i wymagania dotyczące przepustowości znajdziesz w docs/TECHNICAL_REQUIREMENTS.md w repozytorium.

Is this page helpful?

Spis treści

Edytuj stronę