Inicializar aplicación
Configuración paso a paso para construir una aplicación basada en appchain, modelada según Adrift
Primeros pasos
Esta guía te ayudará a configurar un nuevo proyecto basado en appchain, siguiendo la estructura de Adrift. Crearás un monorepo con un frontend en Next.js, un indexador Ponder, un backend potenciado por Bun y contratos en Foundry.
Inicio rápido
1. Instalar Bun y Foundry
Bun es un gestor de paquetes y entorno de ejecución de JavaScript/TypeScript moderno y rápido, utilizado en Adrift para instalar dependencias, ejecutar scripts y procesar tareas de backend. Foundry es un potente conjunto de herramientas para desarrollar, probar e implementar contratos inteligentes en Solidity, elegido por su velocidad y experiencia de desarrollo.
Sigue las instrucciones oficiales para tu plataforma para instalar ambas herramientas antes de continuar.
2. Crear la estructura de tu proyecto
Adrift utiliza una estructura de monorepo para mantener el frontend, el indexador, el backend y los contratos organizados en un solo lugar. Esto facilita el desarrollo, la gestión de dependencias y la implementación de aplicaciones complejas con múltiples componentes.
mkdir my-appchain-project && cd my-appchain-project
mkdir -p apps/site apps/indexer apps/cron contracts3. Estructurar el frontend (Next.js + Bun)
Next.js es un popular framework de React para construir aplicaciones web modernas y rápidas. En Adrift, impulsa la interfaz de usuario y la lógica del lado del cliente. Bun se utiliza aquí para la gestión de dependencias y la ejecución de la aplicación.
bun create next ./apps/site
cd apps/site
bun install4. Estructurar el indexador (Ponder)
Ponder es una herramienta orientada a TypeScript, amigable para desarrolladores, para indexar eventos de blockchain y sincronizar datos on-chain con una base de datos local. Adrift utiliza Ponder para rastrear el estado del juego y de los jugadores, facilitando la creación de interfaces de usuario en tiempo real impulsadas por datos on-chain.
cd ../../apps/indexer
bun init
bun add ponder
# Add your ponder.config.ts and ponder.schema.ts (see Adrift for examples)5. Estructurar los contratos (Foundry)
Foundry se utiliza para todo el desarrollo de contratos inteligentes en Adrift. Proporciona compilación, pruebas y despliegue rápidos para contratos Solidity, y es ampliamente adoptado en el ecosistema Ethereum.
cd ../../contracts
forge init
# Add your contracts and scripts (see Adrift for factory pattern)Estructura del proyecto
Esta estructura mantiene cada parte de tu proyecto de appchain modular y mantenible, siguiendo el ejemplo de Adrift.
my-appchain-project/
apps/
site/ # Next.js frontend
indexer/ # Ponder indexer
cron/ # Backend/cron jobs
contracts/ # Solidity contracts (Foundry)
bun.lock # Bun lockfileInstalar dependencias
cd apps/site && bun install
cd ../indexer && bun install
cd ../cron && bun install
cd ../../contracts && forge installEjecutar las aplicaciones
-
Frontend (Next.js + Bun):
cd apps/site bun run dev -
Indexador (Ponder):
cd apps/indexer bun run dev -
Contratos:
cd contracts forge build forge test # Deploy: forge script script/Deploy.s.sol:DeployFactories --rpc-url <your_rpc_url>
Próximos pasos
- Configura la conexión de tu cadena en
apps/site/utils/chain.ts - Configura la integración de la cartera con Wagmi y Para en el frontend
- Define tu esquema Ponder y los manejadores de eventos en el indexador
- Implementa la lógica de tu contrato y los scripts de despliegue en
contracts/ - Construye tu UI y hooks para la lógica del juego, el estado del jugador y la aleatoriedad
Para más detalles, consulta el repositorio de Adrift y las guías más profundas sobre contratos, configuración de carteras, secuenciación, indexador y lógica de juego.