Saltar al contenido principal

Scaffold Stellar

Scaffold Stellar es un kit de herramientas para desarrolladores para crear aplicaciones descentralizadas (dApps) y contratos inteligentes en la blockchain de Stellar. Te ayuda a pasar de la idea a una dApp full-stack funcional más rápido — proporcionando herramientas CLI, plantillas de contratos reutilizables, un registro de contratos inteligentes y un frontend moderno.

Visita la página principal de Scaffold Stellar para guías, documentación y más.

Prerequisitos

Antes de comenzar, asegúrate de tener instalado lo siguiente:

HerramientaDescripciónEnlace de instalación
Rust & CargoPara escribir y compilar contratos inteligentescurl https://sh.rustup.rs -sSf | sh
Node.js & npmPara el desarrollo frontendDescarga desde el sitio oficial
Stellar CLIPara construir, desplegar e interactuar con contratos inteligentesLink for the repo

Comenzar

Instalación

Instala las herramientas CLI requeridas:

# Install stellar-scaffold CLI
cargo install --locked stellar-scaffold-cli

# Install registry CLI (to easily deploy your contract to the registry)
cargo install --locked stellar-registry-cli
Para una instalación más rápida, usa cargo-binstall

En lugar de compilar desde el código fuente, puedes acelerar la instalación obteniendo el binario directamente usando cargo-binstall. Esto es especialmente útil en entornos de CI.

# Install cargo-binstall (see other install methods in their README linked above)
cargo install cargo-binstall

# Install the binaries
cargo binstall stellar-scaffold-cli stellar-registry-cli

Crear un proyecto nuevo

  1. Inicializa un proyecto nuevo:
stellar scaffold init my-project
cd my-project

Esto creará la estructura del proyecto en el directorio que especificaste con varios contratos de ejemplo. O puedes comenzar desde el OpenZeppelin Wizard para personalizar tu contrato y comenzar un proyecto Scaffold Stellar desde allí.

  1. Inicia la aplicación:
npm start

¡Tendrás una dApp en funcionamiento integrada con los contratos iniciales, lista para comenzar a desarrollar!

Explora el archivo environments.toml para personalizar tu(s) entorno(s) de desarrollo que se configuran mediante tu archivo .env.

Estructura del proyecto

Cuando ejecutas stellar scaffold init, crea una estructura de proyecto full-stack con contratos de ejemplo y un frontend moderno:

my-project/
├── contracts/ # Rust smart contracts (compiled to WASM)
├── packages/ # Auto-generated TypeScript contract clients
├── src/ # React frontend code
│ ├── components/ # Reusable UI components
│ ├── contracts/ # Contract interaction logic
│ ├── App.tsx # Main app component
│ └── main.tsx # Entry point
├── environments.toml # Configuration per environment (dev/test/prod)
├── .env # Local environment variables
├── package.json # Frontend packages
└── target/ # Build outputs

Esta plantilla proporciona una aplicación frontend lista para usar con contratos inteligentes de ejemplo y sus clientes TypeScript. El frontend está configurado con Vite, React e incluye componentes básicos para interactuar con los contratos.

Características

  • Plugins CLI para Stellar

    • stellar scaffold init: Inicializar proyectos nuevos de contratos inteligentes Stellar
    • stellar scaffold upgrade: Transformar espacios de trabajo de contratos Stellar existentes en proyectos Scaffold
    • stellar scaffold build: Construir contratos y generar clientes TypeScript
    • stellar scaffold watch: Modo desarrollo con recarga en caliente
    • stellar registry: Publicar, desplegar y gestionar contratos inteligentes
  • Gestión de entornos

    • Compilaciones específicas para cada entorno (desarrollo, pruebas, staging, producción)
    • Integración fluida con contratos locales y desplegados
    • Configuración de red mediante environments.toml
    • Admite múltiples entornos de despliegue
  • Registro de contratos inteligentes

    • Plataforma de publicación on-chain de binarios Wasm
    • Gestión de versiones y nombrado de contratos
    • Verificación de contratos y gestión de dependencias
    • Flujo de despliegue seguro para testnet y mainnet

Más recursos

Para obtener más información, consulta el proyecto en GitHub.