Saltar al contenido principal

Catálogo de Plantillas

Las plantillas son contratos inteligentes pre-certificados y listos para configurar que cubren los casos de uso más comunes. En lugar de desarrollar desde cero, puedes elegir una plantilla, configurarla con tus parámetros y desplegarla rápidamente.

Qué es una plantilla​

Una plantilla es un contrato inteligente:

  • Pre-certificado: Ya ha pasado el proceso de conformidad
  • Probado: Tests completos y análisis de seguridad
  • Documentado: Casos de uso y ejemplos claros
  • Desplegable: Solo configuras parámetros y despliegas
  • Mantenido: ISBE actualiza y mejora las plantillas

Plantilla vs Desarrollo Custom​

AspectoPlantillaCustom
DesarrolloSolo configuraciónDesarrollas tu lógica
CertificaciónAutomáticaProceso completo
FlexibilidadLimitada al estándarTotal
MantenimientoISBE se encargaTu responsabilidad

Cuándo usar una plantilla​

Usa una plantilla si:

  • Tu caso de uso encaja en alguna de las plantillas disponibles
  • No necesitas lógica de negocio específica más allá de la plantilla
  • Prefieres usar soluciones probadas y certificadas

Cuándo desarrollar custom​

Desarrolla custom si:

  • Necesitas funcionalidad específica que no existe
  • Tu lógica de negocio es única
  • Requieres reglas de validación particulares

Ver Desarrollo de Contratos Custom para más información.


¿Qué plantilla necesito?​

¿Tu activo es fungible (todos los tokens tienen el mismo valor) o único (cada token es diferente)?

  • Fungible y sin regulación financiera: ERC20
  • Fungible y regulado (security, fondo, bono): ERC3643
  • Único (certificado, credencial, activo físico): ERC721

¿Necesitas registrar eventos o estados de un activo a lo largo del tiempo?

¿Necesitas probar que un documento o dato existía en un momento concreto?


ERC20: Tokens Fungibles​

Los tokens ERC20 son activos digitales intercambiables donde cada unidad tiene el mismo valor (fungibles). Son ideales para representar monedas, puntos, créditos y otros activos de valor uniforme.

Qué es ERC20 en ISBE​

ERC20 en ISBE es una implementación del estándar ERC-20 (EIP-20) que se apoya en los contratos Core de ISBE, proporcionando:

  • Control de acceso basado en roles (AccessControl)
  • Capacidad de pausa para emergencias (Pausable)
  • Gestión de propiedad (Ownable)
  • Integración con identidad descentralizada (DID)
  • Soporte ERC165 para detección de interfaces

Extensiones Disponibles​

ISBE ofrece las siguientes extensiones que puedes combinar según tus necesidades:

  • Base: Token ERC20 estándar con funcionalidad básica
  • Burnable: Destrucción de tokens
  • Capped: Límite máximo de suministro
  • Snapshot: Instantáneas de balances para auditoría
  • Controller: Control administrativo forzado para casos excepcionales

Variantes ERC20​

Base - Token ERC20 Estándar​

Token fungible con las funciones básicas de transferencia y aprobación.

Funcionalidad:

  • Transferencias (transfer, transferFrom)
  • Aprobaciones (approve, allowance)
  • Consultas de balance (balanceOf, totalSupply)
  • Metadatos (name, symbol, decimals)

Cuándo usar:

  • Utility tokens simples
  • Créditos internos de plataforma
  • Tokens de acceso sin requerimientos especiales

Inicialización:

initializeErc20(
"Mi Token", // name
"MTK", // symbol
18 // decimals
)

Burnable - Destrucción de Tokens​

Permite quemar (destruir permanentemente) tokens, reduciendo el suministro total.

Funcionalidad adicional:

  • burn(amount) - Quemar tokens propios
  • burnFrom(account, amount) - Quemar tokens de otra dirección (requiere allowance)

Cuándo usar:

  • Tokens con deflación programada
  • Mecanismos de recompra y quema
  • Gestión de oferta dinámica

Capped - Suministro Máximo​

Establece un límite máximo de tokens que pueden existir y proporciona funcionalidad de acuñación.

Funcionalidad adicional:

  • mint(address, amount) - Acuñar nuevos tokens
  • cap() - Consultar el límite máximo
  • Validación automática al acuñar (no puede exceder el cap)

Roles requeridos:

  • MINTER_ROLE - Para acuñar tokens
  • CAP_ROLE - Para configurar el límite máximo

Cuándo usar:

  • Tokens con suministro limitado (ej: 21M como Bitcoin)
  • Prevención de inflación descontrolada
  • Garantía de escasez

Snapshot - Instantáneas de Balances​

Permite crear instantáneas (snapshots) de los balances en momentos específicos para auditoría o gobernanza.

Funcionalidad adicional:

  • snapshot() - Crear una nueva instantánea
  • balanceOfAt(account, snapshotId) - Balance en un snapshot específico
  • totalSupplyAt(snapshotId) - Supply total en un snapshot específico

Roles requeridos:

  • SNAPSHOT_ROLE - Para crear instantáneas

Cuándo usar:

  • Distribución de dividendos proporcional
  • Gobernanza con voting power histórico
  • Auditorías fiscales
  • Cumplimiento regulatorio

Controller - Control Forzado​

Proporciona funciones de control administrativo forzado para casos regulatorios excepcionales.

Funcionalidad adicional:

  • forceBurn(account, amount) - Quemar tokens de cualquier dirección
  • forceTransfer(from, to, amount) - Transferir tokens entre direcciones sin allowance

Roles requeridos:

  • CONTROLLER_ROLE - Para operaciones de control forzado

Cuándo usar:

  • Casos excepcionales que requieren control administrativo
  • Situaciones regulatorias especiales

Nota: Las funciones de control forzado están diseñadas para casos excepcionales. Su uso debe estar justificado.

Roles del Sistema ERC20​

RolPermisosCuándo se necesita
MINTER_ROLEAcuñar nuevos tokensEmisión inicial, recompensas, expansión de suministro
CAP_ROLEConfigurar límite máximoEstablecer o modificar el suministro máximo
SNAPSHOT_ROLECrear instantáneasAuditorías, gobernanza, distribución de dividendos
CONTROLLER_ROLEControl forzadoCumplimiento de mandatos legales
PAUSER_ROLEPausar/despausarEmergencias, mantenimiento, incidentes de seguridad

Casos de uso reales en ISBE​

En proceso de documentación

El equipo de ISBE está recopilando los despliegues reales de esta plantilla en la red. Cada caso se documentará con la siguiente estructura:

CampoContenido
EntidadEmpresa u organismo que ha desplegado la plantilla
Problema resueltoNecesidad de negocio que motivó el despliegue
Plantilla y extensionesConfiguración utilizada
AprendizajesRecomendaciones para casos de uso similares

¿Has desplegado esta plantilla en ISBE y quieres que tu caso aparezca aquí? Escríbenos a soporte@redisbe.com.

Casos de Uso Generales​

Utility Tokens:

  • Token de acceso a API
  • Créditos de plataforma SaaS
  • Tokens de juegos

Puntos de Fidelidad:

  • Programa de fidelización retail
  • Recompensas de comunidad
  • Cashback digital

Monedas Internas:

  • Moneda corporativa interna
  • Vales digitales
  • Créditos institucionales

Tokens Deflacionarios:

  • Tokens con burn en cada transacción
  • Recompra y quema periódica
  • Reducción programada de oferta

ERC721: Tokens No Fungibles​

Los tokens ERC721 son activos digitales únicos donde cada token tiene una identidad diferenciada (no fungibles). Son ideales para representar certificados, credenciales, activos únicos y cualquier elemento que requiera identificación individual.

Qué es ERC721 en ISBE​

ERC721 en ISBE es una implementación del estándar ERC-721 (EIP-721) que se apoya en los contratos Core de ISBE, proporcionando:

  • Control de acceso basado en roles (AccessControl)
  • Capacidad de pausa para emergencias (Pausable)
  • Gestión de propiedad (Ownable)
  • Integración con identidad descentralizada (DID)
  • Soporte ERC165 para detección de interfaces

Extensiones Disponibles​

  • Base: Token ERC721 estándar con funcionalidad básica
  • Burnable: Destrucción de NFTs
  • Capped: Límite máximo de supply
  • Snapshot: Instantáneas de balances y ownership
  • Enumerable: Enumeración de tokens existentes
  • Royalty: Regalías en reventas (EIP-2981)
  • Consecutive: Acuñación masiva optimizada (EIP-2309)
  • Controller: Control administrativo forzado para casos excepcionales

Variantes ERC721​

Base - Token ERC721 Estándar​

Token no fungible con las funciones básicas de ownership, transferencia y aprobación.

Funcionalidad:

  • Transferencias seguras (safeTransferFrom)
  • Transferencias estándar (transferFrom)
  • Aprobaciones individuales (approve, getApproved)
  • Aprobaciones globales (setApprovalForAll, isApprovedForAll)
  • Consultas de ownership (ownerOf, balanceOf)
  • Metadatos (name, symbol, tokenURI)

Cuándo usar:

  • NFTs simples sin requerimientos especiales
  • Certificados digitales básicos
  • Activos únicos sin funcionalidades avanzadas

Burnable - Destrucción de NFTs​

Permite quemar (destruir permanentemente) tokens, reduciendo el supply total.

Funcionalidad adicional:

  • burn(tokenId) - Quemar NFT propio
  • burnFrom(owner, tokenId) - Quemar NFT de otra dirección (requiere aprobación)

Cuándo usar:

  • Certificados con caducidad
  • Credenciales revocables
  • NFTs con ciclo de vida limitado

Capped - Suministro Máximo​

Establece un límite máximo de tokens que pueden existir y proporciona funcionalidad de acuñación.

Funcionalidad adicional:

  • mint(address, tokenId) - Acuñar nuevos NFTs
  • cap() - Consultar el límite máximo
  • Validación automática al acuñar (no puede exceder el cap)

Roles requeridos:

  • MINTER_ROLE - Para acuñar NFTs
  • CAP_ROLE - Para configurar el límite máximo

Cuándo usar:

  • Colecciones limitadas (ej: 10,000 NFTs)
  • Certificados con cupos definidos
  • Garantía de escasez

Snapshot - Instantáneas Históricas​

Permite crear instantáneas de balances, ownership y supply en momentos específicos para auditoría.

Funcionalidad adicional:

  • snapshot() - Crear una nueva instantánea
  • balanceOfAt(account, snapshotId) - Balance en un snapshot específico
  • totalSupply(snapshotId) - Supply total en un snapshot específico
  • ownerOfAt(tokenId, snapshotId) - Owner de un token en un snapshot específico

Roles requeridos:

  • SNAPSHOT_ROLE - Para crear instantáneas

Cuándo usar:

  • Gobernanza con voting power histórico
  • Distribución de beneficios proporcional
  • Auditorías fiscales
  • Cumplimiento regulatorio

Enumerable - Enumeración de Tokens​

Proporciona funciones para listar y enumerar tokens existentes.

Funcionalidad adicional:

  • totalSupplyEnumerable() - Total de tokens existentes
  • tokenByIndex(index) - Token ID en posición global
  • tokenOfOwnerByIndex(owner, index) - Token ID en posición del owner

Cuándo usar:

  • Marketplaces que necesitan listar NFTs
  • Interfaces que muestran colecciones completas
  • Sistemas que requieren iterar sobre tokens

Nota: Enumerable incrementa significativamente el coste de gas en transfers y mints. Usar solo si es necesario.

Royalty - Regalías en Reventas​

Implementa el estándar EIP-2981 para regalías en mercados secundarios.

Funcionalidad adicional:

  • setDefaultRoyalty(receiver, feeNumerator) - Configurar regalía global
  • deleteDefaultRoyalty() - Eliminar regalía global
  • setTokenRoyalty(tokenId, receiver, feeNumerator) - Regalía por token
  • resetTokenRoyalty(tokenId) - Resetear regalía de un token
  • royaltyInfo(tokenId, salePrice) - Consultar regalía

Roles requeridos:

  • ROYALTY_ROLE - Para configurar regalías

Cuándo usar:

  • Arte digital con regalías para el creador
  • Colecciones con comisiones en reventas
  • Cumplimiento de contratos con artistas

Consecutive - Acuñación Masiva​

Permite acuñar múltiples tokens consecutivos en una sola operación optimizada (EIP-2309).

Funcionalidad adicional:

  • mintConsecutive(to, quantity) - Acuñar múltiples tokens consecutivos

Roles requeridos:

  • MINTER_ROLE - Para acuñar tokens

Cuándo usar:

  • Emisión inicial de colecciones grandes
  • Distribución masiva de certificados
  • Ahorro de gas en mints múltiples

Controller - Control Forzado​

Proporciona funciones de control administrativo forzado para casos regulatorios excepcionales.

Funcionalidad adicional:

  • forceBurn(owner, tokenId) - Quemar NFT de cualquier dirección
  • forceTransfer(from, to, tokenId) - Transferir NFT sin aprobación

Roles requeridos:

  • CONTROLLER_ROLE - Para operaciones de control forzado

Cuándo usar:

  • Cumplimiento de órdenes judiciales
  • Recuperación de activos en casos de fraude
  • Revocación de credenciales bajo mandato legal

Nota: Las funciones de control forzado están diseñadas solo para casos excepcionales bajo mandato legal o regulatorio. Su uso debe estar documentado y justificado.

Roles del Sistema ERC721​

RolPermisosCuándo se necesita
MINTER_ROLEAcuñar nuevos tokensEmisión de certificados, creación de NFTs
BURNER_ROLEQuemar tokensRevocación de certificados, destrucción de NFTs
CAP_ROLEConfigurar límite máximoEstablecer o modificar el suministro máximo
SNAPSHOT_ROLECrear instantáneasAuditorías, gobernanza, registro histórico
ROYALTY_ROLEConfigurar regalíasGestión de comisiones en reventas
CONTROLLER_ROLEControl forzadoCumplimiento de mandatos legales
PAUSER_ROLEPausar/despausarEmergencias, mantenimiento, incidentes de seguridad

Casos de uso reales en ISBE​

En proceso de documentación

El equipo de ISBE está recopilando los despliegues reales de esta plantilla en la red. Cada caso se documentará con la siguiente estructura:

CampoContenido
EntidadEmpresa u organismo que ha desplegado la plantilla
Problema resueltoNecesidad de negocio que motivó el despliegue
Plantilla y extensionesConfiguración utilizada
AprendizajesRecomendaciones para casos de uso similares

¿Has desplegado esta plantilla en ISBE y quieres que tu caso aparezca aquí? Escríbenos a soporte@redisbe.com.

Casos de Uso Generales​

Certificados Digitales:

  • Diplomas universitarios
  • Certificaciones profesionales
  • Títulos académicos

Credenciales de Identidad:

  • Credenciales verificables W3C
  • Licencias profesionales
  • Permisos y autorizaciones

Arte Digital y Coleccionables:

  • Arte digital
  • Coleccionables limitados
  • Fotografía digital

Activos Tokenizados:

  • Bienes inmuebles
  • Objetos de valor
  • Equipamiento industrial

Licencias y Permisos:

  • Licencias de software
  • Derechos de acceso
  • Membresías
  • Configuración sugerida: Base + Burnable + Capped

ERC3643: Tokens Regulados​

Los tokens ERC3643 se utilizan para representar instrumentos financieros que requieren cumplimiento regulatorio estricto. Están diseñados exclusivamente para tokenizar securities (acciones, bonos, fondos) que deben cumplir con normativas financieras.

Nota: ERC3643 está diseñado exclusivamente para representar instrumentos financieros regulados (acciones, bonos, fondos de inversión). Para utility tokens usa ERC20.

Qué es ERC3643 en ISBE​

ERC3643 en ISBE es una implementación del estándar ERC-3643 que se apoya en los contratos Core de ISBE, proporcionando:

  • Control de acceso basado en roles (AccessControl)
  • Capacidad de pausa para emergencias (Pausable)
  • Gestión de propiedad (Ownable)
  • Integración con identidad descentralizada (DID)
  • Soporte ERC165 para detección de interfaces

Diferencias con ERC20 Estándar​

ERC3643 extiende ERC20 añadiendo validaciones regulatorias obligatorias:

  • Whitelist de direcciones: Solo wallets autorizadas pueden operar
  • Reglas de compliance: Límites de balance, volumen, restricciones
  • Congelación de fondos: Freeze completo o parcial de cuentas
  • Control forzado: Transferencias y quemas sin aprobación previa
  • Recuperación de wallets: Recuperar tokens de wallets perdidos

Extensiones Disponibles​

  • Base: Token ERC3643 con funcionalidad regulatoria básica
  • Metadata: Actualización dinámica de nombre y símbolo
  • Freeze: Congelación completa y parcial de cuentas
  • Capped: Límite máximo de suministro
  • Controller: Operaciones forzadas sin aprobación
  • Snapshot: Instantáneas de balances para auditoría
  • Recovery: Recuperación de tokens de wallets perdidos
  • Compliance: Orquestador de reglas regulatorias (activa/desactiva features)
  • Compliance MaxBalance: Límite máximo de balance por cuenta
  • Compliance DayMonthLimits: Límites diarios y mensuales de transferencias

Variantes ERC3643​

Base - Token ERC3643 Estándar​

Token fungible regulado con validaciones de identidad y compliance integradas.

Funcionalidad:

  • Todas las operaciones ERC20 estándar
  • Validación de whitelist obligatoria
  • Verificación de compliance en cada transferencia
  • Consultas de balance y supply
  • Metadatos (name, symbol, decimals)

Cuándo usar:

  • Instrumento financiero regulado básico
  • Security token sin requerimientos especiales de compliance

Metadata - Actualización de Metadatos​

Permite actualizar dinámicamente el nombre y símbolo del token (requerimiento regulatorio).

Funcionalidad adicional:

  • setName(string) - Actualizar nombre del token
  • setSymbol(string) - Actualizar símbolo del token

Roles requeridos:

  • METADATA_ROLE - Para actualizar metadatos

Cuándo usar:

  • Tokens que requieren cambios de branding
  • Cumplimiento de requisitos regulatorios de nomenclatura

Freeze - Congelación de Cuentas​

Permite congelar cuentas completa o parcialmente por razones regulatorias.

Funcionalidad adicional:

  • setAddressFrozen(address, bool) - Congelar/descongelar cuenta completa
  • freezePartialTokens(address, amount) - Congelar cantidad específica
  • unfreezePartialTokens(address, amount) - Descongelar cantidad específica
  • isFrozen(address) - Consultar si cuenta está congelada
  • getFrozenTokens(address) - Consultar tokens congelados parcialmente
  • Operaciones batch para múltiples cuentas

Roles requeridos:

  • FREEZE_ROLE - Para operaciones de congelación

Cuándo usar:

  • Órdenes judiciales de congelación de activos
  • Prevención de movimientos durante investigaciones
  • Gestión de disputas o conflictos

Capped - Suministro Máximo​

Establece un límite máximo de tokens que pueden existir y proporciona funcionalidad de acuñación.

Funcionalidad adicional:

  • initializeCap(cap) - Inicializar límite máximo
  • setCap(newCap) - Actualizar límite máximo
  • cap() - Consultar el límite máximo
  • mint(address, amount) - Acuñar tokens (validación de cap)
  • batchMint(addresses[], amounts[]) - Acuñar múltiples en batch

Roles requeridos:

  • MINTER_ROLE - Para acuñar tokens
  • CAP_ROLE - Para configurar el límite máximo

Cuándo usar:

  • Securities con emisión limitada
  • Garantía de no dilución por encima de límite

Controller - Control Forzado​

Proporciona funciones de control administrativo forzado para cumplimiento regulatorio.

Funcionalidad adicional:

  • forceTransfer(from, to, amount) - Transferir sin aprobación
  • forceBurn(from, amount) - Quemar tokens sin aprobación
  • Operaciones batch para múltiples transferencias/quemas
  • Auto-unfreeze: Descongela automáticamente tokens necesarios

Roles requeridos:

  • CONTROLLER_ROLE - Para operaciones de control forzado

Cuándo usar:

  • Casos excepcionales que requieren control administrativo
  • Situaciones regulatorias especiales

Nota: Las funciones de control forzado están diseñadas para casos excepcionales. Su uso debe estar justificado.

Snapshot - Instantáneas Históricas​

Permite crear instantáneas de balances y supply en momentos específicos para auditoría.

Funcionalidad adicional:

  • snapshot() - Crear una nueva instantánea
  • balanceOfAt(account, snapshotId) - Balance en un snapshot específico
  • totalSupply(snapshotId) - Supply total en un snapshot específico

Roles requeridos:

  • SNAPSHOT_ROLE - Para crear instantáneas

Cuándo usar:

  • Distribución de dividendos proporcional
  • Auditorías regulatorias periódicas
  • Reportes fiscales históricos
  • Gobernanza con voting power histórico

Recovery - Recuperación de Wallets​

Permite recuperar tokens de wallets perdidos o comprometidos a nuevos wallets verificados.

Funcionalidad adicional:

  • recoveryAddress(lostWallet, newWallet) - Recuperar tokens a nueva wallet

Roles requeridos:

  • RECOVERY_ROLE - Para operaciones de recuperación

Cuándo usar:

  • Pérdida de claves privadas
  • Wallets comprometidos
  • Cambio de custodio
  • Migración de identidad

Compliance - Orquestador de Reglas​

Módulo central que gestiona la activación y orquestación de todas las reglas de compliance.

Funcionalidad adicional:

  • Orquesta la validación de todas las features de compliance activas
  • Ejecuta validaciones en cada transferencia, mint y burn
  • Permite bypass para cuentas con COMPLIANCE_ROLE

Roles requeridos:

  • COMPLIANCE_ROLE - Para gestionar features y bypassear validaciones

Cuándo usar:

  • Siempre presente en tokens ERC3643
  • Actúa como capa central de validación regulatoria

Compliance: MaxBalance​

Límite máximo de balance que puede tener cada cuenta.

Funcionalidad adicional:

  • initializeERC3643ComplianceMaxBalance(maxBalance) - Inicializar límite
  • setMaxBalance(maxBalance) - Actualizar límite
  • getMaxBalance() - Consultar límite actual
  • enableMaxBalance() - Activar validación
  • disableMaxBalance() - Desactivar validación
  • Validación automática en cada transferencia y mint

Roles requeridos:

  • COMPLIANCE_ROLE - Para configurar y activar/desactivar

Cuándo usar:

  • Prevención de concentración de ownership
  • Cumplimiento de límites regulatorios por inversor
  • Distribución equitativa requerida por ley

Compliance: DayMonthLimits​

Límites de volumen de transferencias diario y mensual por cuenta.

Funcionalidad adicional:

  • initializeERC3643ComplianceDMLim(dailyLimit, monthlyLimit) - Inicializar límites
  • setDayMonthLimits(dailyLimit, monthlyLimit) - Actualizar límites
  • getDayMonthLimits() - Consultar límites actuales
  • enableDayMonthLimits() - Activar validación
  • disableDayMonthLimits() - Desactivar validación
  • Validación automática en cada transferencia

Roles requeridos:

  • COMPLIANCE_ROLE - Para configurar y activar/desactivar

Cuándo usar:

  • Prevención de lavado de dinero (AML)
  • Control de velocidad de transacciones
  • Cumplimiento de límites regulatorios de trading

Sistema de Validación de Compliance​

La arquitectura Diamond de ISBE implementa un sistema modular de compliance:

  • Compliance: Orquestador central que gestiona la activación y ejecución de reglas
  • Features modulares: Cada regla (MaxBalance, DayMonthLimits) es independiente y configurable
  • Activación dinámica: Las features se activan/desactivan sin redeploy mediante flags
  • Validación automática: El orquestador ejecuta validaciones de features activas en cada operación
  • Bypass por rol: COMPLIANCE_ROLE puede saltar todas las validaciones en operaciones especiales

Roles del Sistema ERC3643​

RolPermisosCuándo se necesita
MINTER_ROLEAcuñar nuevos tokensEmisión de securities, ampliaciones de capital
METADATA_ROLEActualizar nombre y símboloCambios de branding, requisitos regulatorios
FREEZE_ROLECongelar/descongelar cuentasÓrdenes judiciales, investigaciones
CONTROLLER_ROLETransferencias y quemas forzadasMandatos legales, resolución de disputas
RECOVERY_ROLERecuperar wallets perdidosPérdida de claves, cambio de custodio
SNAPSHOT_ROLECrear instantáneasAuditorías, distribución de dividendos
CAP_ROLEConfigurar límite máximoEstablecer emisión máxima
COMPLIANCE_ROLEConfigurar y bypassear complianceGestión de reglas regulatorias, operaciones excepcionales
PAUSER_ROLEPausar/despausarEmergencias, mantenimiento, incidentes de seguridad

Casos de uso reales en ISBE​

En proceso de documentación

El equipo de ISBE está recopilando los despliegues reales de esta plantilla en la red. Cada caso se documentará con la siguiente estructura:

CampoContenido
EntidadEmpresa u organismo que ha desplegado la plantilla
Problema resueltoNecesidad de negocio que motivó el despliegue
Plantilla y extensionesConfiguración utilizada
AprendizajesRecomendaciones para casos de uso similares

¿Has desplegado esta plantilla en ISBE y quieres que tu caso aparezca aquí? Escríbenos a soporte@redisbe.com.

Casos de Uso Generales​

Acciones Tokenizadas:

  • Acciones de empresa privada
  • Equity crowdfunding
  • Participaciones en startups

Bonos Digitales:

  • Bonos corporativos
  • Deuda pública tokenizada
  • Instrumentos de renta fija

Fondos de Inversión:

  • Real estate funds
  • Fondos de capital riesgo
  • Fondos de inversión colectiva

AssetEventTracker: Trazabilidad de Activos​

El AssetEventTracker permite registrar, consultar y auditar eventos asociados a activos digitales (tokens, credenciales, documentos) garantizando trazabilidad inmutable, integridad y cumplimiento normativo.

Qué es AssetEventTracker en ISBE​

AssetEventTracker es un sistema de registro de eventos que se apoya en los contratos Core de ISBE, proporcionando:

  • Control de acceso basado en roles (AccessControl)
  • Capacidad de pausa para emergencias (Pausable)
  • Gestión de propiedad (Ownable)
  • Integración con identidad descentralizada (DID)
  • Soporte ERC165 para detección de interfaces

Características Principales​

  • Registro inmutable: Eventos permanentes en blockchain
  • Consultas eficientes: Búsqueda por estado, paginación
  • Flexibilidad semántica: Estados configurables según caso de uso
  • Interoperabilidad: Compatible con sistemas de verificación externos

Funcionalidad​

Funcionalidad:

  • Registro de cambios de estado (recordState)
  • Consulta del estado actual (getCurrentState)
  • Consulta del último evento (getLatestAssetEvent)
  • Consulta de eventos paginados (getAssetEvents)
  • Validación de cambios de estado (isStateChangeAllowed)

Cuándo usar:

  • Seguimiento de ciclo de vida de credenciales
  • Trazabilidad de tokens no fungibles
  • Auditoría de cambios de estado de documentos
  • Registro de eventos regulatorios

Roles del Sistema​

RolPermisosCuándo se necesita
ASSET_EVENT_TRACKER_ROLERegistrar nuevos estadosEmisores autorizados, sistemas de gestión
PAUSER_ROLEPausar/despausarEmergencias, mantenimiento, incidentes de seguridad

Casos de uso reales en ISBE​

En proceso de documentación

El equipo de ISBE está recopilando los despliegues reales de esta plantilla en la red. Cada caso se documentará con la siguiente estructura:

CampoContenido
EntidadEmpresa u organismo que ha desplegado la plantilla
Problema resueltoNecesidad de negocio que motivó el despliegue
Plantilla y extensionesConfiguración utilizada
AprendizajesRecomendaciones para casos de uso similares

¿Has desplegado esta plantilla en ISBE y quieres que tu caso aparezca aquí? Escríbenos a soporte@redisbe.com.

Casos de Uso Generales​

Control de Máquinas de Estado:

  • Flujos de aprobación multi-etapa
  • Ciclos de vida de activos digitales
  • Procesos con validación de transiciones
  • Trazabilidad de cambios de estado

Auditoría y Compliance:

  • Registro inmutable de eventos
  • Histórico de cambios
  • Trazabilidad regulatoria

HashTimestamp: Sellado Temporal​

El HashTimestamp proporciona un mecanismo inmutable, verificable y trazable para registrar la existencia de un documento o dato digital en un momento determinado, mediante el almacenamiento de su hash criptográfico y marca de tiempo en blockchain.

Qué es HashTimestamp en ISBE​

HashTimestamp es un sistema de notarización digital descentralizado que se apoya en los contratos Core de ISBE, proporcionando:

  • Control de acceso basado en roles (AccessControl)
  • Capacidad de pausa para emergencias (Pausable)
  • Gestión de propiedad (Ownable)
  • Integración con identidad descentralizada (DID)
  • Soporte ERC165 para detección de interfaces

Características Principales​

  • Proof of existence: Prueba de que un documento existía en un momento específico
  • Integridad verificable: Cualquier alteración del documento es detectable
  • No repudio: Registro inmutable en blockchain como evidencia
  • Privacidad: Solo se almacena el hash, no el contenido
  • Eficiencia: Verificación sin necesidad de almacenar documentos on-chain

Funcionalidad​

Funcionalidad:

  • Registro de hash con timestamp (timestampHash)
  • Verificación de existencia (exists)
  • Consulta de timestamp (getTimestamp)

Cuándo usar:

  • Sellado de documentos legales
  • Certificación temporal de propiedad intelectual
  • Notarización digital de contratos
  • Auditoría de evidencias
  • Proof of existence de datos

Roles del Sistema​

RolPermisosCuándo se necesita
HASH_TIMESTAMP_ROLERegistrar nuevos hashesEmisores autorizados, sistemas de notarización
PAUSER_ROLEPausar/despausarEmergencias, mantenimiento, incidentes de seguridad

Casos de uso reales en ISBE​

En proceso de documentación

El equipo de ISBE está recopilando los despliegues reales de esta plantilla en la red. Cada caso se documentará con la siguiente estructura:

CampoContenido
EntidadEmpresa u organismo que ha desplegado la plantilla
Problema resueltoNecesidad de negocio que motivó el despliegue
Plantilla y extensionesConfiguración utilizada
AprendizajesRecomendaciones para casos de uso similares

¿Has desplegado esta plantilla en ISBE y quieres que tu caso aparezca aquí? Escríbenos a soporte@redisbe.com.

Casos de Uso Generales​

Proof of Existence:

  • Certificación temporal de documentos
  • Registro de existencia de datos
  • Prueba de integridad

Notarización Digital:

  • Sellado temporal de contenidos
  • Registro inmutable de hashes
  • Verificación de no manipulación

Flujo de Uso de Plantillas​

1. Elige tu plantilla​

Revisa las plantillas disponibles y selecciona la que mejor se adapte a tu caso de uso.

2. Configura los parámetros​

Cada plantilla requiere parámetros de inicialización según el tipo:

Ejemplo ERC20:

{
name: "Mi Token",
symbol: "MTK",
decimals: 18
}

Ejemplo ERC721:

{
name: "Mis Certificados",
symbol: "CERT",
baseURI: "https://api.miapp.com/metadata/"
}

Ejemplo ERC3643:

{
name: "Security Token",
symbol: "SEC",
decimals: 18,
cap: 1000000,
maxBalance: 100000
}

3. Despliega desde el wizard​

Utiliza el wizard de despliegue de ISBE:

  • Selecciona la plantilla deseada
  • Configura los parámetros
  • Confirma el despliegue

4. Obtén tu contrato desplegado​

Una vez desplegado, obtendrás la dirección del contrato y podrás verificarlo en BlockScout.

5. Integra en tu aplicación​

Interactúa con tu contrato desde tu aplicación usando la dirección desplegada.


Lo que obtienes automáticamente​

Todas las plantillas incluyen automáticamente las capacidades del Core:

CapacidadQué incluye
Identidad (DIDs)Sistema de identidades W3C integrado
Control de AccesoRBAC con roles configurables
PausabilidadProtección whenNotPaused en funciones críticas
UpgradabilityDiamond Pattern (EIP-2535)
OwnershipGestión de propiedad del contrato

No necesitas implementar nada de esto, ya está incluido y configurado.


Próximos Pasos​

Si una plantilla cubre tu necesidad​

  1. Configura los parámetros de tu plantilla
  2. Solicita el despliegue a ISBE
  3. Integra en tu aplicación usando el SDK

Si ninguna plantilla se ajusta​

Consulta la guía de Desarrollo de Contratos Custom para implementar lógica personalizada.


¿Necesitas ayuda para elegir una plantilla o configurarla? Contacta con el equipo de ISBE.