Każdy program Solany odczytuje i zapisuje ten sam stan, dzięki czemu swap, spłata pożyczki i aktualizacja oracle mogą zostać wykonane w jednej atomowej transakcji. Zacznij od działającej aplikacji Anchor, zintegruj płynność na żywo i wdrażaj zgodnie z praktykami produkcyjnymi.
Właściwości, na których możesz oprzeć projekt swojego protokołu
Atomowa kompozycyjność
Programy wywołują się nawzajem przez Cross Program Invocation w ramach jednej transakcji. Jeśli którykolwiek krok się nie powiedzie, cała transakcja jest wycofywana, więc strategia obejmująca wiele protokołów nigdy nie rozlicza się w połowie.
Każda transakcja z góry deklaruje konta, które odczytuje i zapisuje. Środowisko uruchomieniowe wykonuje równolegle transakcje, które nie dotykają tych samych kont zapisywalnych, więc jeden zatłoczony rynek nie blokuje niezwiązanych z nim rynków.
Transakcje zapisujące do spornego konta konkurują o udział tego konta w bloku. Ustalaj opłaty priorytetowe na podstawie kont, do których zapisujesz, a nie średnich dla całej sieci.
Czas slot w sieci głównej jest skracany etapami, a Alpenglow zastąpi obecny protokół głosowania i finalności. Śledź oba te procesy, zanim dostroisz wygasanie kwotowań, limity czasu i okna likwidacji.
Domyślna ścieżka dla nowego protokołu: Anchor dla programu, LiteSVM i Surfpool do testów, Codama dla klientów i Kit dla aplikacji.
01Napisz program
Anchor lub Pinocchio
Anchor to zalecany framework dla większości programów, z wbudowaną walidacją kont, generowaniem IDL i helperami CPI. Sięgnij po Pinocchio, bibliotekę bez zależności, w gorących ścieżkach, w których liczy się każda jednostka obliczeniowa.
Uruchamiaj szybkie testy w procesie z LiteSVM lub Mollusk. Następnie uruchom testy integracyjne na Surfpool, lokalnej sieci, która ładuje konta z mainnetu na żądanie, dzięki czemu możesz testować na prawdziwych pulach i oracle.
Generuj typowanych klientów TypeScript i Rust na podstawie IDL swojego programu, aby konstruktory instrukcji i dekodery kont były zsynchronizowane z każdym wdrożeniem.
@solana/kit to standardowy SDK JavaScript. Jego wtyczka portfela wykrywa zainstalowane portfele przez Wallet Standard, bez pakietów adapterów dla poszczególnych portfeli.
Te protokoły publikują dokumentację deweloperską swoich programów i API. Przeczytaj dokumentację i raporty z audytów każdego protokołu, zanim skierujesz przez niego środki użytkowników.
Swapy i routing
Kieruj swapy przez płynność Solany za pomocą API agregatora lub zażądaj surowych instrukcji, aby złożyć swap w ramach własnej transakcji.
Emituj aktywa z wbudowanym zachowaniem, które musi obsługiwać Twój protokół: hooki transferu, salda oprocentowane, skalowane kwoty UI i poufne transfery.
Tylko przykłady. Umieszczenie protokołu na liście nie oznacza poparcia ze strony Solana Foundation.
Dostarczanie transakcji
Doprowadzaj transakcje do skutku, gdy rynki się ruszają
Ruch w DeFi osiąga szczyt podczas zmienności, dokładnie wtedy, gdy użytkownicy potrzebują, by ich transakcje zostały zrealizowane. Wbuduj te mechanizmy w swojego klienta przed uruchomieniem na mainnecie.
1
Ustaw limity obliczeń i opłaty priorytetowe
Zasymuluj transakcję, aby zmierzyć jednostki obliczeniowe, ustaw ścisły limit i wyceniaj opłaty priorytetowe na podstawie ostatnich opłat na kontach, do których zapisujesz.
Transakcje v1 podnoszą limit rozmiaru; tabele wyszukiwania adresów kompresują długie listy kont. Każde z tych rozwiązań wiąże się z kompromisem w przypadku złożonych tras.
Stake-weighted QoS rezerwuje przepustowość lidera dla transakcji przekazywanych przez węzły validator posiadające stake. Wybierz dostawcę RPC, który to wspiera.
Śledź wygasanie blockhash, ponawiaj rozgłaszanie, aż transakcja zostanie zrealizowana lub wygaśnie, i potwierdzaj na poziomie commitment, którego wymaga Twoja logika.
Program DeFi może przechowywać środki użytkowników od pierwszego wdrożenia. Kontroluj, kto może go zmieniać, udowodnij, co zostało wdrożone, i obserwuj, co robi.
Zabezpiecz uprawnienia multisigiem
Przechowuj uprawnienia do aktualizacji programu i uprawnienia administracyjne w multisigu Squads z blokadą czasową zmian.
Zleć niezależne audyty przed uruchomieniem na mainnecie i prowadź program bug bounty. Solana Foundation finansuje oceny bezpieczeństwa STRIDE i bezpłatne narzędzia dla zespołów ekosystemu.