Generación de Clientes TS
Genera clientes TypeScript a partir de la IDL de Anchor para la resolución tipada de cuentas, constructores de instrucciones y decodificación de errores.
Busca en todas las páginas de la documentación
Genera clientes TypeScript a partir de la IDL de Anchor para la resolución tipada de cuentas, constructores de instrucciones y decodificación de errores.
anchor build
# Cliente Anchor heredado
anchor idl parse -f target/idl/my_program.json -o app/src/idl.tsimport { Program, AnchorProvider } from "@coral-xyz/anchor";
import idl from "./idl/my_program.json";
const program = new Program(idl as MyProgram, provider);
await program.methods.initialize().accounts({ payer }).rpc();Cuándo usar esto: Si construyes dApps o pruebas de integración contra programas de Anchor.
import { AnchorProvider, Wallet, Program } from "@coral-xyz/anchor";
import { Connection, Keypair } from "@solana/web3.js";
import idl from "../target/idl/counter.json";
const connection = new Connection("http://127.0.0.1:8899");
const wallet = new Wallet(Keypair.generate());
const provider = new AnchorProvider(connection, wallet, {});
const program = new Program(idl, provider);
await program.methods
.increment()
.accounts({
counter: counterPda,
authority: wallet.publicKey,
})
.rpc();Lo que esto demuestra:
methods.* codifican los datos de la instrucción.accounts() mapea los nombres de cuenta de la IDL.Para aplicaciones nuevas, prefiere los clientes generados por Codama + @solana/kit 7.0.0 (ver el siguiente artículo). El cliente TS de Anchor sigue siendo común en los flujos de trabajo de pruebas de Anchor.
Envía el paquete npm de la IDL o confirma los tipos generados en CI.
.accounts() - Fallos en tiempo de ejecución. Solución: Usa tipos generados siempre que sea posible.| Alternativa | Usar Cuando | No Usar Cuando |
|---|---|---|
| Codama + @solana/kit | Clientes modernos nativos de kit | Pila de pruebas de Anchor heredada |
| Bytes de instrucción hechos a mano | Dependencias mínimas | IDL de Anchor disponible |
| anchorpy (Python) | Bots de Python | dApps de TypeScript |
0.32.1 en temas avanzados.
Diseños fijos grandes cuando Borsh CU es demasiado alto.
No fácilmente; planifica el crecimiento futuro.
No; documentar por separado.
IDL JSON del llamador en tiempo de compilación.
Sí, con metadatos de cuenta correctos.
Evita diferentes IDL por característica en mainnet.
LiteSVM, Surfpool, simulación en devnet.
No; último recurso.
Ver enlaces relacionados para el cliente ts.
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: 19 jul 2026