Fetching & Decoding Accounts
Leituras on-chain tipadas usando decoders gerados e RPC kit.
Busque em todas as páginas da documentação
Leituras on-chain tipadas usando decoders gerados e RPC kit.
import { createSolanaRpc, address } from "@solana/kit";
import { fetchCounter } from "./generated/clients/js";Quando usar:
import { createSolanaRpc, address } from "@solana/kit";
import { fetchCounter, decodeCounter } from "./generated/clients/js";
const rpc = createSolanaRpc(process.env.RPC_URL!);
const counterPk = address(process.env.COUNTER_PUBKEY!);
const account = await fetchCounter(rpc, counterPk);
console.log(account.data.count);
// Lower level: raw bytes
const info = await rpc.getAccountInfo(counterPk, { encoding: "base64" }).send();
if (info.value) {
const decoded = decodeCounter(Buffer.from(info.value.data[0], "base64"));
}O que isso demonstra:
finalized para snapshots contábeis.getAccountInfo retorna owner, lamports e bytes de dados.| Alternativa | Use quando | Não use quando |
|---|---|---|
| DAS para NFTs | Ativos digitais | Contas de programa arbitrárias |
| Indexer SQL | Analytics pesado | Lookup de conta única |
| getProgramAccounts | Enumerar todas | Caro na mainnet |
Rode anchor build; aponte Codama para JSON em target/idl.
Toda mudança de interface on-chain em CI.
Codama renderiza funções nativas @solana/kit.
Açúcar opcional sobre kit.
Importe clientes gerados em client components para escritas.
Surfpool + testes de integração devnet.
Não misture com clientes kit gerados.
Uma config Codama por programa ou workspace monorepo.
Use decoders gerados com getAccountInfo.
Mapeie códigos de erro do programa a partir de metadados IDL.
Versões da stack: Esta página foi escrita para Agave 4.1.1, Solana CLI 3.0.10, Anchor 0.32.1, anchor-lang 0.32.1, Rust 1.91.1, @solana/kit 7.0.0, Surfpool 0.12.0 e LiteSVM 0.6.x.
Revisado por Chris St. John·Última atualização: 16 de jul. de 2026