Codama
Genera clientes @solana/kit 7.0.0 a partir de IDLs de Anchor 0.32.1.
Busca en todas las páginas de la documentación
Genera clientes @solana/kit 7.0.0 a partir de IDLs de 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" }
}Cuándo usar esto:
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 });Lo que esto demuestra:
fetch* combinan RPC + decodificador.get*Instruction devuelve instrucciones nativas de kit.anchor build - entrada de IDL obsoleta. Solución: el paso de generación de código depende del artefacto de compilación.| Alternativa | Usar Cuando | No Usar Cuando |
|---|---|---|
| anchor-client-gen (legado) | Repositorios antiguos | Nueva canalización de Codama |
| Códecs escritos a mano | Algo pequeño y único | Aplicaciones de producción Anchor |
Ejecuta anchor build; apunta Codama al JSON de target/idl.
Cada cambio en la interfaz en cadena en CI.
Codama renderiza funciones nativas de @solana/kit.
Azúcar opcional sobre kit.
Importa clientes generados en componentes cliente para escrituras.
Pruebas de integración con Surfpool + devnet.
No mezclar con clientes de kit generados.
Una configuración de Codama por programa o espacio de trabajo monorepo.
Usa decodificadores generados con getAccountInfo.
Mapea códigos de error del programa a partir de metadatos de IDL.
Versiones de la pila: Esta página fue 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, y LiteSVM 0.6.x.
Revisado por Chris St. John·Última actualización: 16 jul 2026