Zanim zaczniesz budować przepływy płatności, musisz połączyć się z Solaną i zrozumieć, jak pobierać dane z sieci. Ten przewodnik omawia podstawy: nawiązywanie połączenia oraz korzystanie z metod RPC, które będą potrzebne do obsługi płatności z użyciem TypeScript SDK @solana/kit oraz Solana CLI. Dodatkowo pokażemy podstawy korzystania z Solana Explorer do ręcznej weryfikacji płatności, przeglądania kont i debugowania problemów.
Łączenie z Solaną
RPC API Solany to podstawowy sposób programistycznej interakcji z siecią. Twój adres URL RPC działa w praktyce jak klucz API do sieci.
Nie używaj publicznego RPC w produkcji
Publiczne endpointy (api.mainnet-beta.solana.com, api.devnet.solana.com)
mają limity zapytań, nie mają SLA i nie nadają się do produkcyjnych przepływów
płatności. Użyj dostawcy RPC, aby zabezpieczyć
prywatny endpoint RPC do wdrożeń produkcyjnych.
Do celów deweloperskich i testowych możesz korzystać z publicznych endpointów z limitami.
Utwórz klienta RPC, aby komunikować się z siecią:
import { createSolanaRpc, createSolanaRpcSubscriptions } from "@solana/kit";const rpc = createSolanaRpc("https://api.mainnet-beta.solana.com");const rpcSubscriptions = createSolanaRpcSubscriptions("wss://api.mainnet-beta.solana.com");
Do celów deweloperskich używaj devnetu (https://api.devnet.solana.com) lub
lokalnego validatora, np.
Surfpool.
Najczęstsze metody RPC
JSON-RPC API Solany udostępnia metody do pobierania danych z sieci. Oto te, z których najczęściej będziesz korzystać przy obsłudze płatności.
Pobieranie informacji o koncie
Wszystkie konta w Solanie są adresowane za pomocą klucza publicznego. Użyj
metody RPC getAccountInfo, aby pobrać
informacje o dowolnym koncie. Metoda getAccountInfo zwraca obiekt
AccountInfo, który zawiera publiczny klucz konta, saldo SOL, dane oraz inne
metadane.
Pole data to zakodowany w base64 string z danymi konta. Możesz przekonwertować
go na bajty za pomocą metody getBase64Codec z pakietu @solana/kit, a
następnie zdekodować do czytelnego obiektu przy użyciu odpowiedniego kodeka
(jeśli znany) dla danych konta (np. getTokenCodec dla token account).
const accountInfo = await rpc.getAccountInfo(address("7EcDhSYGxXyscszYEp35KHN8vvw3svAuLKTzXwCFLtV"), {encoding: "base64"}).send();const dataBytes = getBase64Codec().encode(accountInfo.value.data);const parsedTokenData = getTokenCodec().decode(dataBytes);console.log(parsedTokenData);
Sprawdzanie salda tokenów
Sprawdź saldo token account za pomocą metody RPC
getTokenAccountBalance:
const balance = await rpc.getTokenAccountBalance(tokenAccountAddress).send();console.log(balance.value.uiAmount); // Human-readable (e.g., 100.50)console.log(balance.value.amount); // Base units (e.g., "100500000")
Tworzenie transakcji
Każda transakcja wymaga aktualnego blockhash, aby była ważna (i nie
przeterminowana). Pobierz go przed utworzeniem transakcji płatniczej za pomocą
metody RPC getLatestBlockhash:
const { value: latestBlockhash } = await rpc.getLatestBlockhash().send();
Blockhash wygasa po około 60 sekundach. Pobierz nowy tuż przed podpisaniem i wysłaniem.
Sprawdzanie statusu transakcji
Zweryfikuj, czy transakcja została rozliczona, używając metody RPC
getSignatureStatuses:
const status = await rpc.getSignatureStatuses([signature]).send();const result = status.value[0];// result.confirmationStatus: "processed" | "confirmed" | "finalized"
Pobieranie szczegółów transakcji
Pobierz pełne szczegóły potwierdzonej transakcji za pomocą metody RPC
getTransaction:
const transaction = await rpc.getTransaction(signature, { maxSupportedTransactionVersion: 0 }).send();
Historia transakcji
Pobierz ostatnie transakcje dla adresu za pomocą metody RPC
getSignaturesForAddress:
const signatures = await rpc.getSignaturesForAddress(walletAddress, { limit: 10 }).send();
Aby uzyskać kompleksowy monitoring płatności, zobacz Akceptowanie płatności, gdzie opisano webhooki oraz wykrywanie transakcji w czasie rzeczywistym.
Eksplorowanie danych publicznych
Publiczny rejestr Solany oznacza, że każda transakcja, token account i mint są w pełni audytowalne. Eksploratory bloków pozwalają ręcznie weryfikować płatności, sprawdzać konta i debugować problemy bez pisania kodu.
Co możesz sprawdzić:
- Zweryfikować rozliczoną płatność
- Sprawdzić saldo token account
- Debugować nieudane transakcje
- Sprawdzić szczegóły mint (podaż, liczba miejsc po przecinku, uprawnienia)
Popularne explorery: Solana Explorer, SolanaFM, Solscan, Orb
Przykładowe linki:
- USDC Token Mint — Podaż, rynki, posiadacze i transakcje dla USDC
- USDC Token Transfer — Szczegóły transakcji płatności USDC
- USDG Token Account — Saldo USDG użytkownika i historia transakcji
Is this page helpful?