gill
Una capa de TypeScript de nivel superior que agrupa los patrones de @solana/kit para flujos comunes.
Receta
npm install gill @solana/kit@7.0.0import { createSolanaClient } from "gill";Cuándo usar esto:
- Para iniciar aplicaciones rápidamente sobre kit 7.0.0.
- Flujos estándar de RPC + transacciones sin código repetitivo.
- Proyectos estilo create-solana-dapp.
Ejemplo Funcional
import { createSolanaClient } from "gill";
import { address } from "@solana/kit";
const { rpc, sendAndConfirmTransaction } = createSolanaClient({
urlOrMoniker: "devnet",
});
const balance = await rpc.getBalance(address("PUBKEY")).send();Lo que esto demuestra:
createSolanaClientconecta RPC y ayudantes comunes de envío.- Atajos de apodo (
devnet,mainnet) reducen errores tipográficos del entorno. - Los tipos subyacentes siguen siendo nativos de kit para escapes.
Análisis Profundo
Cómo Funciona
- gill reexporta y compone primitivas de kit.
- Proporciona ayudantes para interacciones frecuentes con programas.
- No reemplaza la comprensión de los mensajes de kit.
- La compatibilidad de versiones sigue las versiones principales de kit.
Errores Comunes
- Tratar gill como una caja negra - difícil depurar transacciones. Solución: aprender el pipeline de kit.
- Importar todo de gill - tamaño del paquete. Solución: acotar las importaciones si el paquete admite subrutas.
- Apodo en producción - puntos finales ambiguos. Solución: URLs explícitas del proveedor en mainnet.
- Omitir la simulación - los ayudantes de envío de gill aún necesitan disciplina de pre-vuelo.
- Asumir que gill incluye la salida de Codama - generar clientes de programas por separado.
Alternativas
| Alternativa | Usar Cuándo | No Usar Cuándo |
|---|---|---|
| @solana/kit crudo | Control total | Prototipo rápido |
| Programa Anchor | API fluida heredada | Arquitectura basada en Kit |
Preguntas Frecuentes
¿IDL de Anchor 0.32.1?
Ejecutar anchor build; apuntar Codama al JSON de target/idl.
¿Regenerar cuándo?
Cada cambio en la interfaz en cadena en CI.
¿Clientes tipados de kit?
Codama renderiza funciones nativas de @solana/kit.
¿gill es necesario?
Azúcar opcional sobre kit.
¿Next.js?
Importar clientes generados en componentes cliente para escrituras.
¿Pruebas?
Pruebas de integración con Surfpool + devnet.
¿web3.js?
No mezclar con clientes de kit generados.
¿Múltiples programas?
Una configuración de Codama por programa o espacio de trabajo monorepo.
¿Obtener cuenta?
Usar decodificadores generados con getAccountInfo.
¿Errores?
Mapear códigos de error del programa a partir de metadatos de IDL.
Relacionado
- Conceptos Básicos de @solana/kit - fundamentos
- Codama - clientes específicos del programa
- @solana/kit, Codama y gill - comparación
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.