Codama desde un IDL de Anchor
Codama transforma el IDL de Anchor en TypeScript compatible con @solana/kit 7.0.0: codecs de instrucciones, decodificadores de cuentas y enums de errores.
Busca en todas las páginas de la documentación
Codama transforma el IDL de Anchor en TypeScript compatible con @solana/kit 7.0.0: codecs de instrucciones, decodificadores de cuentas y enums de errores.
anchor build
npx @codama/cli@latest run --idl target/idl/my_program.json --out clients/ts/src/generatedimport { createSolanaRpc, pipe } from "@solana/kit";
import { getIncrementInstruction } from "./generated/instructions";Cuándo usar esto: Las dApps Greenfield se estandarizan en @solana/kit en lugar de web3.js v1.
import { address, createSolanaRpc, pipe, setTransactionMessageLifetime } from "@solana/kit";
import { getIncrementInstruction } from "./generated/instructions";
const rpc = createSolanaRpc("https://api.devnet.solana.com");
const programId = address("Fg6PaFpoGXkYsidMpWTK6W2BeZ7FEfcYkg476zPFsLnS");
const ix = getIncrementInstruction({
counter: counterPda,
authority: signerAddress,
});
// Pipe a constructores de mensajes de transacción (patrones de kit 7)Lo que esto demuestra:
anchor build produce el IDL.Falla la compilación si la carpeta generada difiere de una ejecución reciente de Codama.
| Alternativa | Usar Cuando | No Usar Cuando |
|---|---|---|
| Programa de @coral-xyz/anchor | Pruebas heredadas de Anchor | Aplicaciones que priorizan Kit |
| Ayudantes de Gill | Envoltorio de kit de nivel superior | Codecs de kit en bruto |
0.32.1 en temas avanzados.
Grandes layouts fijos cuando Borsh CU es demasiado alto.
No fácilmente; planifica el crecimiento futuro.
No; documentar por separado.
JSON del IDL del llamador en tiempo de compilación.
Sí, con metadatos de cuenta correctos.
Evitar diferentes IDL por característica en mainnet.
LiteSVM, Surfpool, simulación en devnet.
No; último recurso.
Ver enlaces relacionados para codama.
Versiones de Stack: 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: 19 jul 2026