Interakcja z Solaną

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:

Is this page helpful?

Spis treści

Edytuj stronę

Zarządzane przez

© 2026 Solana Foundation.
Wszelkie prawa zastrzeżone.
Bądź na bieżąco