Estados de almacenamiento

Tipos de Almacenamiento en Stellar Soroban

🌟 Introducción Teórica

Imagina que tu contrato inteligente es como una casa 🏠, y necesitas diferentes tipos de espacios para guardar tus cosas:

  • 🗄️ Un archivo permanente para documentos importantes

  • 📋 Una mesa de trabajo para proyectos actuales

  • 🗑️ Una papelera para cosas temporales

En Soroban tenemos exactamente eso: tres tipos de almacenamiento que nos permiten gestionar nuestros datos de manera eficiente y económica.


🎯 Los Tres Tipos de Almacenamiento

1. 💾 PERSISTENT STORAGE (Almacenamiento Persistente)

🧠 ¿Qué es?

Es el almacenamiento más duradero y confiable de Soroban. Los datos aquí se mantienen "para siempre" (hasta que explícitamente los borres). Es como guardar algo en una caja fuerte 🔒.

✨ Características:

  • 🔄 Permanente: Los datos NO se borran automáticamente

  • 💰 Más costoso: Requiere más fees porque ocupa espacio indefinidamente

  • 🛡️ Más seguro: Ideal para datos críticos del contrato

  • Acceso rápido: Optimizado para lecturas frecuentes

🎯 ¿Cuándo usarlo?

  • 👤 Información de usuarios (balances, perfiles)

  • ⚙️ Configuraciones del contrato que no cambian

  • 📊 Datos históricos importantes

  • 🔑 Claves y identificadores únicos

💡 Ejemplo Práctico:

Compilación del contrato:

Resultado de la compilación

Despliegue del contrato

Para Linux y Mac el salto de línea de la instrucción es con el carácter " \ " para Windows con el carácter " ` "

Resultado del despliegue

Pruebas del contrato

Para Linux y Mac el salto de línea de la instrucción es con el carácter " \ " para Windows con el carácter " ` "

Función set_balance

Resultado del llamado al contrato

2. 🏃‍♂️ INSTANCE STORAGE (Almacenamiento de Instancia)

🧠 ¿Qué es?

Es el almacenamiento intermedio de Soroban. Los datos aquí duran bastante tiempo, pero pueden "caducar" si no se usan. Es como tu escritorio de trabajo 📝 - mantienes las cosas que usas regularmente.

✨ Características:

  • Semi-permanente: Los datos pueden expirar si no se acceden

  • 💸 Costo medio: Más barato que persistent, más caro que temporary

  • 🔄 Auto-renovable: Cada acceso extiende su tiempo de vida

  • 📈 Eficiente: Perfecto para datos que usas con frecuencia

🎯 ¿Cuándo usarlo?

  • ⚙️ Configuraciones del contrato que pueden cambiar

  • 📊 Metadatos del contrato (nombre, símbolo, decimales)

  • 🎮 Estados de juego que duran varias partidas

  • 📝 Información que se actualiza regularmente

💡 Ejemplo Práctico:

Compilación del contrato:

Resultado de la compilación

Despliegue del contrato

Para Linux y Mac el salto de línea de la instrucción es con el carácter " \ " para Windows con el carácter " ` "

Resultado del despliegue

Pruebas del contrato

Para Linux y Mac el salto de línea de la instrucción es con el carácter " \ " para Windows con el carácter " ` "

Función init_token

Resultado del llamado al contrato

3. ⚡ TEMPORARY STORAGE (Almacenamiento Temporal)

🧠 ¿Qué es?

Es el almacenamiento más barato y temporal de Soroban. Los datos aquí se borran automáticamente después de un tiempo. Es como usar notas adhesivas 📝 para recordatorios rápidos.

✨ Características:

  • Temporal: Los datos se borran automáticamente (aprox. 24 horas)

  • 💰 Más barato: Ideal para optimizar costos

  • 🚀 Rápido: Perfecto para operaciones que no necesitan persistir

  • 🧹 Auto-limpieza: No necesitas borrar manualmente

🎯 ¿Cuándo usarlo?

  • 🔢 Cálculos intermedios en transacciones complejas

  • 🎫 Nonces y tokens de sesión

  • 📊 Caché de datos temporales

  • 🔄 Estados de transacciones en progreso

💡 Ejemplo Práctico:

Compilación del contrato:

Resultado de la compilación

Despliegue del contrato

Para Linux y Mac el salto de línea de la instrucción es con el carácter " \ " para Windows con el carácter " ` "

Resultado del despliegue

🎯 Comparación Rápida

Aspecto
💾 Persistent
🏃‍♂️ Instance
⚡ Temporary

Duración

♾️ Permanente

⏳ Semi-permanente

⏰ ~24 horas

Costo

💰💰💰 Alto

💰💰 Medio

💰 Bajo

Uso ideal

👤 Datos críticos

⚙️ Configuraciones

🔢 Cálculos temporales

Auto-borrado

❌ No

🔄 Si no se usa

✅ Automático


🎨 Consejos de Mejores Prácticas

💾 Para PERSISTENT:

  • ✅ Usa para balances de usuarios

  • ✅ Datos que nunca deben perderse

  • ❌ Evita para datos temporales (caro)

🏃‍♂️ Para INSTANCE:

  • ✅ Configuraciones del contrato

  • ✅ Metadatos que cambian ocasionalmente

  • ❌ Evita para datos de usuarios individuales

⚡ Para TEMPORARY:

  • ✅ Cálculos intermedios

  • ✅ Sistema de cooldowns

  • ✅ Cache temporal

  • ❌ Evita para datos importantes

Last updated

Was this helpful?