Czym jest Kora?
Kora to warstwa abstrakcji opłat dla Solana, która pozwala użytkownikom płacić opłaty transakcyjne tokenami SPL zamiast SOL (lub całkowicie uniknąć opłat transakcyjnych). Jest to serwer JSON-RPC, który działa jako płatnik, sponsorując opłaty transakcyjne w sieci Solana, jednocześnie akceptując płatności w tokenach obsługiwanych przez Twoją aplikację.
Problem: Użytkownicy potrzebują SOL do opłacenia opłat transakcyjnych w sieci Solana, co tworzy tarcia dla aplikacji, w których użytkownicy posiadają głównie inne tokeny (np. portfel płatności, który używa tylko USDC lub gra, która transakcje przeprowadza wyłącznie w BONK itp.).
Rozwiązanie: Operatorzy węzłów Kora akceptują płatności opłat w tokenach SPL, weryfikują i podpisują transakcje oraz opłacają opłaty sieciowe własnym SOL — tworząc bezpłatne doświadczenie dla użytkowników.
Przykładowe przypadki użycia
- Neobanki: Pozwól użytkownikom wysyłać USDC bez potrzeby posiadania SOL na opłaty
- Gry: Gracze wydają tokeny w grze na wszystkie transakcje
- Liquid Staking: Umożliw użytkownikom Twojej dApp posiadanie/używanie tokenów liquid staking zamiast natywnego SOL
- Programy lojalnościowe: Nagradzaj użytkowników określoną liczbą dotowanych opłat na podstawie ich poziomu lojalności
Kluczowe funkcje
- Bezpieczne: Konfigurowalne reguły walidacji dla programów, tokenów i kont
- Elastyczne cenniki: Obsługa wielu tokenów płatności opłat z cenami w czasie rzeczywistym
- Łatwe wdrażanie: Gotowa do wdrożenia skrzynia CLI Kora
- Przyjazne dla deweloperów: API JSON-RPC z CLI i SDK TypeScript do płynnej interakcji z Solana Kit
- Gotowe do produkcji: Wbudowane ograniczanie częstotliwości, monitorowanie i funkcje bezpieczeństwa
Jak to działa
Węzły Kora działają jako warstwa pośrednia między Twoją aplikacją a Solana. Wszystkie transakcje w Solana wymagają płatnika opłat, który podpisze transakcję i pokryje opłaty transakcyjne w sieci w SOL. Ponadto transakcje mogą wymagać podpisów z innych portfeli w zależności od logiki programu (np. transfery tokenów wymagają podpisu właściciela tokena).
Kora analizuje transakcje Solana przed ich wysłaniem do sieci, upewnia się, że spełniają one skonfigurowane przez węzeł wymagania bezpieczeństwa i weryfikuje, czy transakcja zawiera odpowiednią instrukcję płatności tokenem SPL dla operatora węzła. Po zweryfikowaniu Kora współpodpisuje transakcję jako płatnik opłat i zwraca w pełni podpisaną transakcję do aplikacji w celu przesłania do sieci.
Przepływ transakcji Kora
- Użytkownik inicjuje transakcję
- Aplikacja tworzy transakcję (z instrukcją płatności tokenem dla operatora węzła Kora)
- Użytkownik podpisuje transakcję
- Aplikacja wysyła podpisaną transakcję do operatora węzła Kora
- Kora waliduje transakcję względem skonfigurowanych reguł (dozwolone programy, tokeny itp.) i weryfikuje, czy płatność jest wystarczająca do pokrycia opłat sieciowych (w oparciu o aktualne ceny rynkowe poprzez Oracle)
- Kora podpisuje zwalidowaną transakcję jako płatnik opłat i zwraca ją do aplikacji
- Aplikacja wysyła transakcję podpisaną przez Kora do Solana w celu przetworzenia
- Solana przetwarza transakcję: tokeny SPL trafiają do operatora węzła, opłaty SOL są płacone przez Kora, a transakcja użytkownika jest przetwarzana
- Aplikacja potwierdza pomyślne zrealizowanie transakcji i powiadamia użytkownika
Użytkownik pomyślnie finalizuje swoją transakcję używając wyłącznie tokenów SPL, podczas gdy Kora obsłużyła wszystkie opłaty sieciowe denominowane w SOL.
Przepływ transakcji Kora
Kluczowa terminologia
- Płatnik opłat (Fee payer): Konto podpisujące transakcję Solana, które pokrywa koszty sieciowe związane z przetwarzaniem transakcji w sieci blockchain.
- Gas (lub opłaty gas): Koszty związane z wysyłaniem i realizowaniem transakcji w Solana (płatne w SOL).
- Przekaźnik bezgazowy (Gasless Relayer): Usługa ułatwiająca transakcje blockchain w imieniu użytkowników bez wymagania od nich bezpośredniego płacenia opłat gas (Kora jest przekaźnikiem bezgazowym).
- JSON-RPC: Bezstanowy, lekki protokół zdalnego wywołania procedur (RPC), który wykorzystuje JSON (JavaScript Object Notation) do serializacji danych. Umożliwia komunikację między klientem a serwerem, pozwalając klientowi wywoływać metody na serwerze tak, jakby były funkcjami lokalnymi.
- Oracle: Usługa dostarczająca dane cenowe tokenów w czasie rzeczywistym.
- Paymaster: Usługa lub konto opłacające opłaty transakcyjne w imieniu użytkowników, zazwyczaj w zamian za płatność w alternatywnych tokenach lub walutach (operatorzy węzłów Kora są paymaster).
- Rent: Depozyt wymagany przez Solana w celu utrzymania aktywności kont w sieci blockchain. rent można odzyskać po zamknięciu kont.
Rozpocznij
Wybierz swoją ścieżkę:
Chcę szybko wypróbować Kora
Uruchom lokalny serwer Kora i zobacz abstrakcję opłat w akcji w mniej niż 10 minut.
Chcę uruchomić węzeł Kora
→ Zasoby dla operatorów węzłów
Skonfiguruj i wdróż własny serwer Kora, aby sponsorować transakcje dla swojej aplikacji.
Chcę użyć Kora w mojej aplikacji
Dodaj abstrakcję opłat do swojej aplikacji Solana przy użyciu Kora SDK.
Zalecanym podejściem jest użycie createKitKoraClient(), które integruje się z
architekturą wtyczek Kit i automatycznie obsługuje planowanie transakcji,
szacowanie opłat, wstrzykiwanie płatności i przesyłanie.
→ Przewodnik Kit Client - Twórz transakcje bez opłat za gaz z klientem Kit
Aby uzyskać kontrolę na niższym poziomie, zobacz przewodnik
Pełny przepływ transakcji używając
bezpośrednio KoraClient lub dokumentację API,
aby poznać wszystkie dostępne opcje klienta.
Potrzebujesz pomocy?
- Solana Stack Exchange - Zadawaj
pytania z tagiem
kora - GitHub Issues - Zgłaszaj błędy lub proś o nowe funkcje
Is this page helpful?