Saltar al contenido principal

Contratos y herramientas de OpenZeppelin

Para ofrecer contratos inteligentes comprobados a la comunidad de desarrolladores de Stellar, OpenZeppelin contribuye activamente a una biblioteca de contratos inteligentes y extensiones, así como a herramientas para desarrolladores (incluidos productos como Contract Wizard, Relayer, Monitor y UI Builder). Para la documentación más reciente sobre productos de OpenZeppelin, por favor visita: https://docs.openzeppelin.com/stellar-contracts.

Comenzar con el Asistente de Contratos

El Asistente de Contratos de OpenZeppelin incluye admitir para contratos inteligentes basados en Rust de Stellar, facilitando a los desarrolladores generar y desplegar contratos seguros y auditados. Después de seleccionar tu plantilla y opciones deseadas puedes descargarlo como un solo archivo, un paquete de desarrollo Rust o un Paquete Scaffold Stellar. Pruébalo a continuación o visita el asistente aquí.

Para una guía sobre cómo usar estos contratos, ¡mira el video que aparece abajo!

Contratos y Utilidades Stellar de OpenZeppelin

OpenZeppelin Stellar Contracts es una colección de contratos auditados y utilidades para Stellar. Los contratos son desarrollados por OpenZeppelin en colaboración con la comunidad Stellar y la Stellar Development Foundation (SDF), en un esfuerzo por crear una biblioteca de contratos de alta calidad y auditados que pueden usarse para crear aplicaciones en la red Stellar.

Módulos Auditados Disponibles

Token Fungible

  • Extensiones:
    • Quemable: Permitir a los poseedores destruir sus tokens
    • Con límite: Establecer límites máximos de suministro
    • Lista blanca: Restringir transferencias a direcciones aprobadas
    • Lista negra: Prevenir transferencias desde/hacia direcciones bloqueadas

Token No Fungible

  • Extensiones:
    • Quemable: Permitir a los poseedores destruir sus NFTs
    • Enumerables: Habilitar iteración sobre todos los tokens y los tokens del propietario
    • Consecutivo: Crear múltiples tokens en lotes de manera eficiente
    • Regalías: Admitir regalías para creadores en ventas secundarias

Token Stablecoin

  • Extensiones:
    • Quemable: Permitir a los poseedores destruir sus tokens
    • Con límite: Establecer límites máximos de suministro
    • Lista blanca: Restringir transferencias a direcciones aprobadas
    • Lista negra: Prevenir transferencias desde/hacia direcciones bloqueadas

Token RWA (ERC-3643) El token RWA amplía la funcionalidad estándar de token fungible con características regulatorias necesarias para tokens de seguridad, incluyendo:

  • Características:
    • Gestión de identidad: Integración con registros de identidad para cumplimiento de KYC/AML
    • Marco de cumplimiento: Normas modulares de cumplimiento y validación para transferencias y creación
    • Controles de transferencia: Restricciones y validaciones sofisticadas para transferencias
    • Mecanismos de congelamiento: Capacidades de congelamiento a nivel de dirección y parcial de tokens
    • Sistema de recuperación: Recuperación de cuentas perdidas/antiguas para inversionistas verificados
    • Operaciones pausables: Funcionalidad de pausa de emergencia para todo el token
    • Control de acceso basado en roles (RBAC): Gestión flexible de privilegios para funciones administrativas

Bóveda de tokens La Bóveda de tokens fungibles extiende el Token fungible y aplica SEP-56 Tokenized Vault Standard, permitiendo que los tokens fungibles representen participaciones en un fondo de activos subyacentes. El estándar de bóveda tokenizada es la interfaz formalizada para bóvedas que generan rendimiento y contienen activos subyacentes. Las participaciones en la bóveda permiten colaterales hiperfungibles en DeFi y permanecen completamente compatibles con las operaciones estándar de tokens fungibles.

Cuentas inteligentes

Las Cuentas inteligentes son billeteras basadas en contratos diseñadas para una autorización flexible y programable. Este marco adopta un enfoque centrado en el contexto, separando tres aspectos distintos: quién puede firmar (firmantes), qué pueden hacer (reglas de contexto/alcance) y cómo se aplican esos permisos (políticas). La versión inicial incluye políticas para multisig y límites de gasto.

  • Componentes:
    • Reglas de contexto: Tabla de enrutamiento para autorización
    • Firmantes: Lista de firmantes autorizados (dirección delegada o firmantes externos)
    • Políticas: Módulo de aplicación ligado a las reglas de contexto
    • Verificadores: Contratos de confianza que validan firmas en nombre de cuentas inteligentes

Utilidades

  • Utilidades pausables y actualizables
  • Control de acceso basado en roles y poseedor
  • Distribuidor Merkle

Próximamente

  • Matemáticas de punto fijo
  • Gobernador

Todos los contratos y extensiones son auditados por el equipo de seguridad de OpenZeppelin, mejorando la seguridad y fiabilidad de los contratos y extensiones. Se está completando una verificación formal adicional por Certora. Para usar la biblioteca, visita: https://github.com/OpenZeppelin/stellar-contracts.

Repository Structure
│── audits/ # Audit reports
│── docs/ # Documentation
│── examples/ # Example contracts
│── packages/
│ ├── access/ # Access control, ownable, and role transfer utilities
│ ├── accounts/ # Smart account framework
│ ├── tokens/ # Various token types (fungible, non-fungible, RWA, vault, etc.)
│ ├── contract-utils/ # Utilities for token types (pausable, upgradable, etc.)
│ ├── constants/ # Shared constants
│ ├── test-utils/ # Utilities for tests

Para proporcionar comentarios sobre estos contratos y utilidades, abre incidencias en: https://github.com/OpenZeppelin/stellar-contracts/issues

Herramientas de OpenZeppelin

  • Relayer: Infraestructura para retransmitir transacciones en Stellar.
  • Monitor: Herramienta de infraestructura para monitorear eventos y transacciones en blockchain.
  • Constructor de interfaz de usuario: Herramienta de código abierto para crear formularios de interfaz de usuario para contratos.
  • Servidor MCP: Genera contratos inteligentes de Stellar seguros basados en plantillas de OpenZeppelin.