Ennen maksuvirtojen rakentamista sinun täytyy yhdistää Solanaan ja ymmärtää, miten verkkodata kyselyjä tehdään. Tämä opas kattaa perusteet: yhteyden muodostamisen ja RPC-metodien käytön, joita tarvitset maksuihin käyttäen @solana/kit TypeScript SDK:ta ja Solana CLI:tä. Lisäksi käsittelemme Solana Explorerin käytön perusteita maksujen manuaaliseen vahvistamiseen, tilien tarkasteluun ja ongelmien korjaamiseen.
Yhdistäminen Solanaan
Solanan RPC API on ensisijainen tapa olla ohjelmallisesti vuorovaikutuksessa verkon kanssa. RPC URL -osoitteesi on käytännössä API-avain verkkoon.
Älä käytä julkista RPC:tä tuotannossa
Julkiset päätepisteet (api.mainnet-beta.solana.com, api.devnet.solana.com)
ovat nopeusrajoitettuja, niillä ei ole SLA:ta, eivätkä ne sovellu tuotannon
maksuvirtoihin. Käytä RPC-palveluntarjoajaa
varmistaaksesi yksityisen RPC-päätepisteen tuotantokäyttöönotoille.
Kehitystä ja testausta varten voit käyttää nopeusrajoitettuja julkisia päätepisteitä.
Luo RPC-asiakas vuorovaikutukseen verkon kanssa:
import { createSolanaRpc, createSolanaRpcSubscriptions } from "@solana/kit";const rpc = createSolanaRpc("https://api.mainnet-beta.solana.com");const rpcSubscriptions = createSolanaRpcSubscriptions("wss://api.mainnet-beta.solana.com");
Kehityksessä käytä devnetiä (https://api.devnet.solana.com) tai paikallista
validaattoria kuten Surfpool.
Yleiset RPC-metodit
Solanan JSON-RPC API tarjoaa metodeja verkon kyselyyn. Tässä ovat ne, joita käytät eniten maksuvirroissa.
Tilin tietojen hakeminen
Kaikki Solanan tilit ovat osoitettavissa niiden julkisella avaimella. Käytä
getAccountInfo RPC-metodia hakeaksesi tietoja
mistä tahansa tilistä. getAccountInfo -metodi palauttaa AccountInfo -olion,
joka sisältää tilin julkisen avaimen, SOL-saldon, datan ja joitakin muita
metatietoja.
data-kenttä on base64-koodattu merkkijono tilin tiedoista. Voit koodata sen
tavuiksi käyttämällä getBase64Codec-metodia @solana/kit-paketista ja sitten
dekoodata sen luettavaksi objektiksi käyttämällä odotettua koodekia (jos
tiedossa) tilin tiedoille (esim. getTokenCodec token-tileille).
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);
Token-saldojen tarkistaminen
Tarkista token-tilin saldo käyttämällä
getTokenAccountBalance RPC-metodia:
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")
Transaktioiden rakentaminen
Jokainen transaktio tarvitsee viimeaikaisen lohkohashin varmistaakseen, että se
on voimassa (eikä vanhentunut). Hae sellainen ennen maksutransaktion luomista
käyttämällä getLatestBlockhash
RPC-metodia:
const { value: latestBlockhash } = await rpc.getLatestBlockhash().send();
Lohkohashit vanhenevat ~60 sekunnin kuluttua. Hae uusi välittömästi ennen allekirjoittamista ja lähettämistä.
Transaktion tilan tarkistaminen
Varmista, että transaktio on selvitetty käyttämällä
getSignatureStatuses RPC-metodia:
const status = await rpc.getSignatureStatuses([signature]).send();const result = status.value[0];// result.confirmationStatus: "processed" | "confirmed" | "finalized"
Transaktion tietojen hakeminen
Hae vahvistetun tapahtuman täydelliset tiedot käyttämällä
getTransaction RPC-metodia:
const transaction = await rpc.getTransaction(signature, { maxSupportedTransactionVersion: 0 }).send();
Tapahtumahistoria
Hae osoitteen viimeaikaiset tapahtumat käyttämällä
getSignaturesForAddress RPC-metodia:
const signatures = await rpc.getSignaturesForAddress(walletAddress, { limit: 10 }).send();
Kattavaa maksujen seurantaa varten katso Maksujen vastaanottaminen, joka käsittelee webhookit ja reaaliaikaisen tapahtumien tunnistuksen.
Julkisen datan tutkiminen
Solanan julkinen kirjanpito tarkoittaa, että jokainen tapahtuma, token account ja mint on täysin tarkastettavissa. Lohkoselaimet mahdollistavat maksujen manuaalisen vahvistamisen, tilien tarkastelun ja ongelmien debuggauksen ilman koodin kirjoittamista.
Mitä voit etsiä:
- Vahvista maksun toteutuminen
- Tarkastele token accountien saldoja
- Debuggaa epäonnistuneita tapahtumia
- Etsi mintin tiedot (tarjonta, desimaalit, valtuutus)
Yleisiä selaimia: Solana Explorer, SolanaFM, Solscan, Orb
Esimerkkejä linkeistä:
- USDC Token Mint — USDC:n tarjonta, markkinat, haltijat ja tapahtumat
- USDC Token Transfer — USDC-maksutapahtuman tiedot
- USDG Token Account — Käyttäjän USDG-saldo ja tapahtumahistoria
Is this page helpful?