Skip to content

mesas01/S.P.O.T

Repository files navigation

SPOT Logo

🌟 SPOT

Stellar Proof of Togetherness -> Visit US https://spot-develop.up.railway.app/

La plataforma descentralizada de NFTs de asistencia construida sobre Stellar Blockchain

Stellar Soroban React Rust TypeScript


🚀 Características • 🏗️ Arquitectura • 💰 Modelo de Negocio • ⚙️ Cómo Funciona • 🛠️ Tech Stack • 📦 Instalación


🎯 ¿Qué es SPOT?

SPOT (Stellar Proof of Togetherness) es la plataforma descentralizada que revoluciona cómo creamos y compartimos recuerdos de eventos. Similar a POAP, pero construido nativamente sobre Stellar Blockchain para ofrecer transacciones ultrarrápidas, costos mínimos y una experiencia verdaderamente sostenible.

🌟 ¿Por qué elegir SPOT?

Rapidez y Economía

  • Transacciones en 3-5 segundos
  • Costos mínimos (fracciones de centavo)
  • Sin fees exorbitantes

🌍 Sostenibilidad

  • Consumo energético 99% menor que otras blockchains
  • Tecnología ecológica y eficiente
  • Comprometidos con el futuro del planeta

💰 Escalabilidad

  • Miles de transacciones por segundo
  • Sin límites de crecimiento
  • Infraestructura robusta y confiable

🔐 Seguridad

  • Smart contracts auditados
  • Verificación inmutable en blockchain
  • Sistema de validación dual (on-chain + off-chain)

🎯 ¿Qué problemas resuelve SPOT?

Problema Solución SPOT
🎫 Crear NFTs de asistencia es complicado Interfaz intuitiva, creación en minutos
💸 Costos altos en otras blockchains Transacciones casi gratuitas en Stellar
⏱️ Tiempos de confirmación largos Confirmación en 3-5 segundos
🌱 Impacto ambiental negativo Blockchain sostenible y eficiente
🔗 Limitado a un método de distribución Múltiples métodos: QR, Links, Geolocalización, Códigos
🎨 No personalizable Múltiples colecciones por evento, roles y permisos

✨ Características Principales

🎫 Para Organizadores de Eventos

Crea, Gestiona y Distribuye SPOTs con Facilidad

🎨 Creación Intuitiva

  • Interfaz moderna y fácil de usar
  • Formularios guiados paso a paso
  • Preview en tiempo real
  • Metadata completa del evento

📱 Múltiples Métodos de Distribución

  • QR Codes: Escaneo instantáneo
  • Links Únicos: Compartibles y con expiración
  • Geolocalización: Validación por proximidad
  • Códigos Compartidos: Para eventos masivos

🎯 Gestión Avanzada

  • Múltiples colecciones por evento
  • Sistema de roles granular
  • Control de límites de emisión
  • Quemado automático de SPOTs no reclamados

🔐 Control Total

  • Permisos personalizables (Owner, Admin, Minter)
  • Gestión de delegados
  • Configuración de períodos de claim
  • Analytics y métricas en tiempo real

💼 Planes Flexibles

  • Gratis: Hasta 100 SPOTs por evento
  • Pago: Eventos ilimitados y empresariales
  • Sin costos ocultos
  • Transparencia total

🎁 Para Asistentes

Reclama, Colecciona y Comparte tus SPOTs

Claim Instantáneo

  • Un solo clic para reclamar
  • Múltiples métodos de acceso
  • Sin complicaciones técnicas
  • Confirmación en segundos

🖼️ Galería Personal

  • Visualiza todos tus SPOTs
  • Organización por eventos
  • Filtros y búsqueda avanzada
  • Exporta tu colección

🔗 Comparte y Verifica

  • Prueba de asistencia inmutable
  • Comparte en redes sociales
  • Verificación permanente en blockchain
  • Integración con Freighter Wallet

🎨 Experiencia Premium

  • NFTs únicos y coleccionables
  • Metadata rica y detallada
  • Diseños personalizados
  • Historial completo de eventos

🔒 Seguridad y Validaciones

Protección Multi-Capa para Máxima Seguridad

🛡️ Validaciones On-Chain

  • ✅ Prevención de duplicados (1 SPOT por wallet)
  • ✅ Control de límites de NFTs
  • ✅ Validación de períodos de claim
  • ✅ Verificación de permisos y roles
  • ✅ Ownership verificable

🔐 Validaciones Off-Chain

  • ✅ Verificación de planes y créditos
  • ✅ Validación de geolocalización
  • ✅ Tracking de códigos/QRs usados
  • ✅ Rate limiting anti-spam
  • ✅ Validación de pagos

Sistema Híbrido: Combinamos lo mejor de ambos mundos para ofrecer la máxima seguridad sin comprometer la experiencia de usuario.


🏗️ Arquitectura

Arquitectura General del Sistema

graph TB
    subgraph "Frontend Layer"
        UI[React App]
        Wallet[Freighter Wallet]
        UI --> Wallet
    end

    subgraph "Backend Layer"
        Backend[Express Backend]
        Storage[Storage Service]
        DB[Database]
        Backend --> Storage
        Backend --> DB
    end

    subgraph "Blockchain Layer - Stellar"
        Factory[Factory Contract]
        Event1[Event Contract 1]
        Event2[Event Contract 2]
        EventN[Event Contract N]
        Factory --> Event1
        Factory --> Event2
        Factory --> EventN
    end

    subgraph "Payment System"
        Payment[Stellar Payment]
        Credits[Credit Management]
        Backend --> Payment
        Backend --> Credits
    end

    UI --> Backend
    UI --> Factory
    Backend --> Factory
    Factory --> Payment

    style UI fill:#61dafb
    style Factory fill:#7b61ff
    style Backend fill:#ff6b6b
    style Payment fill:#ffd93d
Loading

Estructura de Contratos

SPOT utiliza un patrón Factory para crear instancias de eventos:

graph LR
    subgraph "Factory Contract"
        FC[Factory]
        FC --> |create_event| EC[Event Template]
    end

    subgraph "Event Contract"
        EC --> NFT[NFT Standard]
        EC --> AC[Access Control]
        EC --> ST[Storage]
        EC --> MT[Mint Logic]
        EC --> BN[Burn Logic]
    end

    subgraph "NFT Features"
        NFT --> OWN[Ownership]
        NFT --> APP[Approvals]
        NFT --> URI[token_uri]
        NFT --> ENUM[Enumerable]
    end

    style FC fill:#7b61ff
    style EC fill:#ff6b6b
    style NFT fill:#4ecdc4
Loading

Almacenamiento de Metadata

Híbrido On-Chain / Off-Chain:

graph TB
    subgraph "On-Chain Storage"
        CONTRACT[Event Contract]
        URI[token_uri]
        METADATA[Metadata Struct]
        CONTRACT --> URI
        CONTRACT --> METADATA
    end

    subgraph "Off-Chain Storage"
        JSON[JSON File]
        IMAGE[Image File]
        STORAGE[Storage Service]
        JSON --> STORAGE
        IMAGE --> STORAGE
    end

    subgraph "Metadata Content"
        M1[event_name]
        M2[event_date]
        M3[location]
        M4[description]
        M5[image_url]
        METADATA --> M1
        METADATA --> M2
        METADATA --> M3
        METADATA --> M4
        METADATA --> M5
    end

    URI --> JSON
    JSON --> IMAGE
Loading

Qué se guarda donde:

  • On-Chain: Metadata esencial del evento (nombre, fecha, lugar, descripción, URIs) - Verificable e inmutable
  • Off-Chain: Imágenes de alta resolución - Optimizado para costos

⚙️ Cómo Funciona

Desde la Creación hasta el Claim: Un Flujo Simple y Poderoso


🎬 Flujo de Creación de Evento

El organizador crea un evento y el sistema despliega automáticamente un contrato inteligente único

sequenceDiagram
    participant O as Organizador
    participant UI as Frontend
    participant B as Backend
    participant F as Factory Contract
    participant E as Event Contract
    participant S as Storage

    O->>UI: Crear evento
    UI->>B: Validar y procesar
    B->>B: Verificar plan (gratis o pago)
    alt Evento >100 SPOTs o Empresarial
        B->>O: Solicitar pago (Stellar)
        O->>B: Pagar XLM
    end
    B->>S: Subir imagen del SPOT
    S-->>B: URL de imagen
    B->>F: Crear nuevo evento
    F->>E: Instanciar Event Contract
    E-->>F: Contract Address
    F-->>B: Event ID + Contract Address
    B->>DB: Guardar metadatos
    B-->>UI: Evento creado exitosamente
    UI-->>O: Confirmación
Loading

📋 Pasos del Proceso

  1. 📝 Formulario de Evento: El organizador completa la información del evento (nombre, fecha, ubicación, descripción)
  2. 💰 Verificación de Plan: El sistema determina automáticamente si el evento es gratuito (≤100 SPOTs) o requiere pago
  3. 💳 Procesamiento de Pago (si aplica): Pago seguro con XLM a través de Stellar Network
  4. 🖼️ Subida de Imagen: La imagen del SPOT se almacena en el servicio de storage
  5. 🏭 Despliegue de Contrato: El Factory Contract crea automáticamente un nuevo Event Contract único
  6. 💾 Almacenamiento de Metadata: La información se guarda tanto on-chain como off-chain
  7. ✅ Evento Listo: El evento está activo y listo para distribuir SPOTs

🎁 Flujo de Claim de SPOT

El asistente reclama su SPOT usando el método que prefiera

sequenceDiagram
    participant U as Usuario
    participant UI as Frontend
    participant B as Backend
    participant E as Event Contract
    participant W as Wallet (Freighter)

    U->>UI: Escanear QR / Usar link / Código
    UI->>B: Validar método de claim
    B->>B: Verificar geolocalización (si aplica)
    B->>B: Verificar códigos/QRs usados
    B->>B: Validar fechas de claim
    B-->>UI: Validación OK
    UI->>W: Solicitar firma de transacción
    W->>U: Confirmar transacción
    U->>W: Firmar transacción
    W->>E: Ejecutar mint()
    E->>E: Validar límites y permisos
    E->>E: Verificar no duplicado
    E->>E: Guardar metadata on-chain
    E-->>W: NFT minteado (token_id)
    W-->>UI: Transacción exitosa
    UI->>B: Notificar claim exitoso
    B->>B: Actualizar contadores
    UI-->>U: SPOT recibido
Loading

🔍 Validaciones en Cada Paso

Off-Chain (Backend)
  • ✅ Verifica el plan del organizador
  • ✅ Valida códigos/QRs usados
  • ✅ Verifica geolocalización (si aplica)
  • ✅ Valida fechas de claim
  • ✅ Rate limiting anti-spam
On-Chain (Smart Contract)
  • ✅ Verifica que no haya duplicados (1 SPOT por wallet)
  • ✅ Valida límites de NFTs
  • ✅ Verifica período de claim
  • ✅ Valida permisos de roles
  • ✅ Garantiza inmutabilidad

Métodos de Distribución

SPOT soporta múltiples métodos de distribución, cada uno con sus propias validaciones:

graph LR
    subgraph "Métodos de Claim"
        QR[QR Code]
        LINK[Unique Link]
        GEO[Geolocalización]
        CODE[Shared Code]
    end

    subgraph "Validación"
        V1[Verificar unicidad]
        V2[Verificar expiración]
        V3[Verificar geolocalización]
        V4[Verificar límites]
    end

    QR --> V1
    LINK --> V2
    GEO --> V3
    CODE --> V4

    V1 --> MINT[Mint NFT]
    V2 --> MINT
    V3 --> MINT
    V4 --> MINT
Loading

Características de cada método:

Método Descripción Validación
QR Code Código único escaneable Un QR puede usarse múltiples veces hasta agotar NFTs disponibles. Una wallet solo puede reclamar 1 vez
Unique Link Link único por evento Expira según configuración del organizador (máximo 1 semana)
Geolocalización Validación por proximidad Radio configurable por el organizador. Validación off-chain
Código Compartido Código compartible Limitado a la cantidad de NFTs creados. Se puede usar hasta agotar

Sistema de Permisos y Roles

Control granular de acceso basado en roles:

graph TB
    subgraph "Roles"
        OWNER[Owner]
        ADMIN[Admin]
        MINTER[Minter]
        VIEWER[Viewer]
    end

    subgraph "Permisos Owner"
        O1[Crear evento]
        O2[Eliminar evento]
        O3[Modificar evento]
        O4[Agregar/remover roles]
        O5[Mintear SPOTs]
        O6[Quemar SPOTs]
        OWNER --> O1
        OWNER --> O2
        OWNER --> O3
        OWNER --> O4
        OWNER --> O5
        OWNER --> O6
    end

    subgraph "Permisos Admin"
        A1[Modificar evento]
        A2[Agregar/remover roles]
        A3[Mintear SPOTs]
        A4[Quemar SPOTs]
        ADMIN --> A1
        ADMIN --> A2
        ADMIN --> A3
        ADMIN --> A4
    end

    subgraph "Permisos Minter"
        M1[Mintear SPOTs]
        MINTER --> M1
    end

    subgraph "Permisos Viewer"
        V1[Ver eventos]
        V2[Ver SPOTs]
        VIEWER --> V1
        VIEWER --> V2
    end
Loading

💰 Modelo de Negocio

Un Modelo Freemium Sostenible y Justo

Eventos pequeños gratuitos • Eventos grandes con planes flexibles


🆓 Plan Gratuito - Para Todos

Eventos Personales y Pequeños (Hasta 100 SPOTs)

Completamente Gratuito • Sin Tarjeta de Crédito • Sin Límites de Eventos

Incluye:

  • 0 XLM - Totalmente gratuito
  • Hasta 100 SPOTs por evento
  • Eventos ilimitados
  • Métodos: QR, Links, Códigos compartidos
  • Metadata básica almacenada
  • Período de claim: Máximo 1 semana

🎯 Ideal para:

  • 🏠 Eventos personales
  • 👥 Meetups pequeños
  • 👨‍👩‍👧‍👦 Reuniones familiares
  • 🌱 Eventos comunitarios
  • 🎓 Clases y talleres pequeños

💼 Plan de Pago - Para Eventos Grandes

Eventos Empresariales y Masivos (Más de 100 SPOTs)

Precios Flexibles • Funcionalidades Completas • Soporte Prioritario

🚀 Incluye:

  • 💰 Precio variable según cantidad de SPOTs
  • ♾️ SPOTs ilimitados por evento
  • 🎯 Todos los métodos: QR, Links, Geolocalización, Códigos, NFC
  • 📦 Metadata completa on-chain
  • Período de claim configurable
  • 🎨 Personalización completa
  • 📞 Soporte prioritario

🎯 Ideal para:

  • 🏢 Conferencias grandes
  • 💻 Hackathons masivos
  • 🏛️ Eventos corporativos
  • 🌐 Plataformas de eventos
  • 🎪 Festivales y convenciones


💝 Sistema de Donaciones

Apoya el Proyecto y Recibe un SPOT Exclusivo

Tu contribución ayuda a mantener SPOT gratuito para eventos pequeños

🎁 Beneficios para Donantes:

  • 🎨 SPOT Exclusivo de "Donante" automático
  • 🏆 NFT único y coleccionable
  • 💚 Apoyo a la sostenibilidad del proyecto
  • 🌟 Reconocimiento en la comunidad

🔄 Cómo Funciona:

  1. 💰 El usuario hace una donación en XLM
  2. 🎨 El sistema genera automáticamente un SPOT exclusivo
  3. 🪙 El SPOT se mintea en la wallet del donante
  4. 🚀 Las donaciones financian eventos gratuitos

Flujo de Financiamiento

graph TB
    subgraph "Ingresos"
        I1[Eventos >100 SPOTs]
        I2[Eventos Empresariales]
        I3[Donaciones]
    end

    subgraph "Uso de Ingresos"
        U1[Mantenimiento de Infraestructura]
        U2[Soporte a Eventos Gratuitos]
        U3[Desarrollo y Mejoras]
        U4[SPOTs Exclusivos para Donantes]
    end

    I1 --> U1
    I2 --> U1
    I3 --> U2
    I1 --> U3
    I2 --> U3
    I3 --> U4

    style I1 fill:#ff6b6b
    style I2 fill:#ff6b6b
    style I3 fill:#4ecdc4
    style U2 fill:#95e1d3
    style U4 fill:#95e1d3
Loading

Modelo Sostenible:

  • Los eventos grandes y empresariales financian la plataforma
  • Las donaciones apoyan eventos gratuitos y desarrollo
  • Todos los usuarios se benefician de una plataforma robusta y gratuita para uso personal

🛠️ Tech Stack

Blockchain Layer

  • Red: Stellar Network (Futurenet para pruebas, Mainnet para producción)
  • Smart Contracts: Soroban (Runtime de Stellar)
  • Lenguaje: Rust
  • SDK: Soroban SDK v23.0.3+
  • Estándar NFT: SEP-41 (Stellar Enhancement Proposal 41)
  • Librerías:
    • stellar-tokens: NFTs estándar de Stellar
    • stellar-access: Control de acceso y roles
    • stellar-macros: Macros para simplificar código

Frontend Layer

  • Framework: React 18+ con TypeScript
  • Build Tool: Vite
  • Wallet: Freighter Wallet SDK
  • Cliente Stellar: @stellar/stellar-sdk y soroban-client
  • Estado: React Context API
  • Data Fetching: TanStack Query
  • UI Components: Stellar Design System
  • Estilos: Tailwind CSS

Backend Layer

  • Platform: Express.js (Node.js/TypeScript)
  • Storage: Servicio de almacenamiento para imágenes
  • Database: Base de datos para metadatos de eventos
  • Payment Processing: Stellar Payments (XLM)

DevOps

  • CI/CD: GitHub Actions
  • Testing: Vitest (frontend), Rust tests (contratos)
  • Deployment: Servicios de hosting estándar
  • Monitoring: Analytics y logging

📦 Instalación

Configura SPOT en Minutos

Sigue estos pasos simples para tener SPOT funcionando en tu máquina


📋 Prerrequisitos

🦀 Rust

Descargar

  • Latest stable version
  • Necesario para contratos

📦 Node.js

Descargar

  • Versión 22 o superior
  • Para frontend y backend

Stellar CLI

Instalar

  • Para interactuar con Stellar

🔧 Scaffold Stellar

Instalar

  • Plugin CLI para desarrollo

🚀 Setup Rápido

1️⃣ Clonar el Repositorio

git clone <repo-url>
cd commitsPre

2️⃣ Configurar Variables de Entorno

cd blockotitos
cp .env.example .env
# Edita .env con tus configuraciones

3️⃣ Instalar Dependencias

npm install
cd backend && npm install && cd ..

4️⃣ Compilar Contratos

cargo build --target wasm32v1-none --release

5️⃣ Iniciar Desarrollo

npm run dev

¡Listo! 🎉 La aplicación estará corriendo en http://localhost:5173


⚙️ Configuración de Entornos

Edita environments.toml para configurar tus entornos:

  • Local: Desarrollo en tu máquina
  • Testnet: Pruebas en Stellar Testnet
  • Mainnet: Producción en Stellar Mainnet

👥 Equipo

SPOT es desarrollado por un equipo apasionado de desarrolladores:

Santiago Mesa

Desarrollo y Smart Contracts / Backend

Santiago Mesa

LinkedIn Telegram GitHub


Juliana Lugo

Desarrollo y Diseño

Juliana Lugo

LinkedIn Telegram GitHub


André Landinez

Desarrollo y Smart Contracts

André Landinez

LinkedIn Telegram GitHub


Laura Lizeth Rico

Diseño y Edición

Laura Lizeth Rico

LinkedIn Telegram GitHub


Rodión Romanovich

Desarrollo y Smart Contracts / Backend

Rodión Romanovich

Página Web Telegram GitHub


🎨 Decisiones de Diseño

1. Arquitectura Híbrida (On-Chain / Off-Chain)

¿Por qué?

  • On-Chain: Metadata esencial (verificable e inmutable)
  • Off-Chain: Imágenes y datos grandes (optimización de costos)

Beneficios:

  • ✅ Costos reducidos de almacenamiento en blockchain
  • ✅ Verificabilidad completa de metadata esencial
  • ✅ Escalabilidad mejorada

2. Sistema de Validación Dual

Validaciones On-Chain:

  • Límites de NFTs
  • Prevención de duplicados
  • Fechas de claim
  • Permisos de roles

Validaciones Off-Chain:

  • Planes y créditos del usuario
  • Geolocalización
  • Tracking de códigos/QRs usados
  • Rate limiting

Beneficios:

  • ✅ Seguridad máxima
  • ✅ Flexibilidad para lógica compleja
  • ✅ Optimización de costos

3. Factory Pattern para Contratos

¿Por qué usar Factory?

  • ✅ Escalabilidad: Cada evento es un contrato independiente
  • ✅ Aislamiento: Problemas en un evento no afectan otros
  • ✅ Actualización: Posibilidad de mejorar contratos nuevos sin afectar existentes

4. Modelo Freemium Sostenible

¿Por qué eventos pequeños gratuitos?

  • ✅ Accesibilidad: Cualquiera puede crear eventos personales
  • ✅ Adopción: Facilita la adopción masiva de la plataforma
  • ✅ Sostenibilidad: Eventos grandes financian la infraestructura

5. Múltiples Métodos de Distribución

¿Por qué varios métodos?

  • ✅ Adaptabilidad: Diferentes eventos requieren diferentes métodos
  • ✅ Usabilidad: Los usuarios pueden elegir el método más conveniente
  • ✅ Flexibilidad: Los organizadores pueden configurar según necesidades

🗄️ Estructura de Datos

Modelo de Datos Principal

erDiagram
    USER ||--o{ EVENT : creates
    USER ||--o{ DONATION : makes
    EVENT ||--o{ COLLECTION : has
    COLLECTION ||--o{ SPOT : contains
    EVENT ||--o{ DELEGATE : has
    EVENT ||--o{ QR_CODE : generates
    EVENT ||--o{ CLAIM_CODE : generates
    
    USER {
        string address
        string email
        timestamp created_at
        string plan_type
    }
    
    DONATION {
        string id
        string donor_address
        int amount_xlm
        string exclusive_spot_id
        timestamp created_at
    }
    
    EVENT {
        string id
        string contract_address
        string creator_address
        string name
        date event_date
        string location
        string description
        timestamp claim_start
        timestamp claim_end
        int max_nfts
        int minted_nfts
        string image_url
        bool is_paid
    }
    
    COLLECTION {
        string id
        string event_id
        string name
        int max_nfts
        int minted_nfts
    }
    
    SPOT {
        string token_id
        string collection_id
        string owner_address
        string metadata_uri
        timestamp minted_at
        bool is_exclusive
    }
    
    DELEGATE {
        string event_id
        string address
        string role
        timestamp added_at
    }
    
    QR_CODE {
        string id
        string event_id
        string code
        bool used
        int uses_remaining
        timestamp expires_at
    }
    
    CLAIM_CODE {
        string id
        string event_id
        string code
        int uses_remaining
        timestamp expires_at
    }
Loading

🔒 Seguridad y Validaciones

Capas de Seguridad

graph TB
    subgraph "Validaciones On-Chain"
        V1[Límite de NFTs]
        V2[No duplicados]
        V3[Permisos de roles]
        V4[Fechas de claim]
        V5[Ownership]
    end

    subgraph "Validaciones Off-Chain"
        V6[Plan del usuario]
        V7[Validación de pago]
        V8[Geolocalización]
        V9[Códigos/QRs usados]
        V10[Rate limiting]
    end

    subgraph "Backend Security"
        S1[Authentication]
        S2[JWT Tokens]
        S3[API Rate Limits]
        S4[IP Whitelisting]
    end

    V1 --> CONTRACT[Smart Contract]
    V2 --> CONTRACT
    V3 --> CONTRACT
    V4 --> CONTRACT
    V5 --> CONTRACT

    V6 --> BACKEND[Backend]
    V7 --> BACKEND
    V8 --> BACKEND
    V9 --> BACKEND
    V10 --> BACKEND

    S1 --> BACKEND
    S2 --> BACKEND
    S3 --> BACKEND
    S4 --> BACKEND
Loading

Medidas de Seguridad Implementadas

  • Validación dual: On-chain + Off-chain
  • Prevención de duplicados: Un wallet = 1 SPOT por colección
  • Rate limiting: Prevención de spam y ataques
  • Control de acceso: Sistema de roles granular
  • Validación de fechas: Períodos de claim configurables
  • Quemado automático: SPOTs no reclamados se queman automáticamente

🤝 Contribuir

¡Las contribuciones son bienvenidas! Por favor:

  1. Fork el proyecto
  2. Crea una rama para tu feature (git checkout -b feature/AmazingFeature)
  3. Commit tus cambios (git commit -m 'Add some AmazingFeature')
  4. Push a la rama (git push origin feature/AmazingFeature)
  5. Abre un Pull Request

Guía de Contribución


🔗 Enlaces Útiles



🌟 ¿Listo para Empezar?

Únete a la revolución de los NFTs de asistencia en Stellar

📦 Instalación📖 Documentación💬 Comunidad🤝 Contribuir


💜 Hecho con ❤️ usando Stellar Blockchain

GitHub stars GitHub forks GitHub issues

⭐ Dános una estrella🐛 Reportar Bug💡 Sugerir Feature


Última actualización: Noviembre 2025

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors