Codama
Gere clientes @solana/kit 7.0.0 a partir de IDLs Anchor 0.32.1.
Busque em todas as páginas da documentação
Gere clientes @solana/kit 7.0.0 a partir de IDLs Anchor 0.32.1.
npm install -D @codama/cli @codama/nodes-from-anchor @codama/renderers-js{
"idl": "target/idl/my_program.json",
"scripts": { "js": "@codama/renderers-js" }
}Quando usar:
anchor build
npx codama run --config codama.jsonimport { createSolanaRpc } from "@solana/kit";
import { fetchCounter, getIncrementInstruction } from "./generated/clients/js";
const rpc = createSolanaRpc(process.env.RPC_URL!);
const account = await fetchCounter(rpc, counterAddress);
const ix = getIncrementInstruction({ counter: counterAddress, authority: signer });O que isso demonstra:
fetch* combinam RPC + decoder.get*Instruction retorna instruções nativas do kit.| Alternativa | Use quando | Não use quando |
|---|---|---|
| anchor-client-gen (legacy) | Repos antigos | Pipeline Codama novo |
| Codecs escritos à mão | One-off pequeno | Apps Anchor em produção |
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