create-solana-dapp
Genera una dApp Solana full-stack con un programa on-chain y un cliente Next.js utilizando el generador create-solana-dapp.
Receta
Tarjeta de receta de referencia rápida - lista para copiar y pegar.
pnpm create solana-dapp@latest
cd my-dapp
pnpm install
anchor build
pnpm devCuándo usar esto:
- Producto nuevo que necesita una UI conectada a una billetera y un programa.
- Estandarización de la estructura del repositorio en múltiples aplicaciones Solana.
- Enseñanza de la división programa + cliente con valores predeterminados funcionales.
- Evitar la configuración manual de Next.js + Anchor.
Ejemplo de Trabajo
pnpm create solana-dapp@latest my-marketplace \
--template anchor-nextjs \
--wallet adapter
cd my-marketplace
pnpm install
# Alinea la toolchain con los pines de la guía
avm use 0.32.1
anchor build
anchor test
# Inicia el validador local + la aplicación (los scripts de plantilla varían)
pnpm devLo que esto demuestra:
- Diseño de monorepo o workspace con carpetas
programs/yapp/. - Adaptador de billetera preconfigurado y hooks de configuración RPC.
- Stub del programa Anchor 0.32.1 listo para
anchor build.
Análisis Profundo
Cómo Funciona
- El generador copia una plantilla con programa Anchor, pruebas y frontend Next.js.
- El cliente utiliza estándares modernos de billetera (wallet-adapter o kit específico de la plantilla).
- Los scripts envuelven
solana-test-validator, despliegan y el servidor de desarrollo se inicia. - Reemplazas las instrucciones de stub con la lógica del producto de forma incremental.
Diseño Típico
| Ruta | Contenido |
|---|---|
programs/<nombre>/ | Código fuente del programa Anchor |
app/ o src/ | Frontend Next.js |
Anchor.toml | IDs de programa y URLs de clúster |
tests/ | Pruebas de integración |
Notas de bash
# Vuelve a ejecutar la generación de código después de cambios en la IDL (dependiente de la plantilla)
anchor build
pnpm run codegen 2>/dev/null || trueErrores Comunes
- Versión de Anchor de plantilla obsoleta - el valor predeterminado del generador puede estar desactualizado respecto a 0.32.1. Solución: actualiza
Anchor.toml,anchor-langy ejecutaavm use 0.32.1. - Asumiendo configuración de devnet - la plantilla puede apuntar a localnet. Solución: lee el README y configura el clúster del proveedor en
Anchor.toml. - Omitiendo el inicio del validador - las transacciones del cliente fallan sin RPC. Solución: ejecuta el script del validador incluido o Surfpool.
- Confirmando keypairs del programa - las plantillas incluyen claves de despliegue para conveniencia. Solución: rota para producción; ignora secretos en git.
- Características pesadas de la plantilla - las dependencias de UI no utilizadas ralentizan las instalaciones. Solución: elimina paquetes después de generar si solo se necesita un cliente API mínimo.
Alternativas
| Alternativa | Usar Cuando | No Usar Cuando |
|---|---|---|
Solo anchor init | Programa primero, cliente después | Necesitas UI inmediata |
CLI mucho | Plantillas con opinión de la base | Arquitectura Next.js personalizada |
| Monorepo manual | Control total de las opciones de la pila | Plazo rápido para MVP |
create-solana-dapp con flags mínimas | Salida más ligera | Aprendiendo la configuración full-stack |
Preguntas Frecuentes
¿Fija @solana/kit 7.0.0?
Comprueba el package.json generado y actualiza a 7.0.0 para que coincida con la pila fijada en esta guía.
¿Puedo usar npm en lugar de pnpm?
Las plantillas a menudo documentan pnpm primero; npm/yarn suelen funcionar con comandos de instalación equivalentes.
¿Dónde se establece el ID del programa?
En Anchor.toml y declare_id! en programs/<nombre>/src/lib.rs - actualiza después de anchor keys sync.
¿Cómo despliego desde el scaffold?
anchor deploy contra el clúster configurado después de financiar el keypair del desplegador.
¿Puedo eliminar Next.js?
Sí - mantén programs/ y las pruebas; reemplaza el frontend con cualquier cliente basado en kit.
¿El scaffold incluye pruebas?
La mayoría de las plantillas incluyen pruebas de integración de Anchor - extiende con LiteSVM para velocidad de pruebas unitarias.
¿Cómo añado Tailwind o un kit de UI?
Selecciona variantes de plantilla en el momento de la creación o añade dependencias después de la generación.
¿Es create-solana-dapp oficial?
Scaffold mantenido por la comunidad, ampliamente utilizado en tutoriales del ecosistema Solana - verifica el repositorio de la plantilla para actualizaciones.
¿Cómo configuro devnet?
Edita la URL del proveedor en Anchor.toml y el entorno frontend NEXT_PUBLIC_RPC_URL.
¿Qué adaptadores de billetera se incluyen?
Depende del flag de la plantilla - comúnmente @solana/wallet-adapter-react o billeteras nativas del kit.
Relacionado
- Descripción General de la Toolchain - herramientas requeridas
- CLI Mucho - ruta de scaffold alternativa
- solana-test-validator - RPC local
- Conceptos Básicos de Anchor - estructura del programa
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.