Saltar al contenido principal
información

The term "custom token" has been deprecated in favor of "contract token". Ve la conversación en el Stellar Developer Discord.

Activos Stellar y Tokens de Contrato

Los tokens existen en dos formas en Stellar:

  1. Activos emitidos por cuentas de Stellar (G... direcciones) y su implementación del Stellar Asset Contract (SAC) incorporado, y
  2. Contract tokens issued by a deployed WASM contract (C... addresses).

Several factors can help you determine whether to issue an asset on Stellar or create a contract token with a smart contract for your project.

Sin embargo:

TL;DR

Si es posible, recomendamos emitir un activo de Stellar y usar el SAC para interactuar con ese activo en contratos inteligentes o para enviarlo a direcciones de contratos. Más sobre por qué a continuación.

Emitiendo activos en Stellar

Stellar tiene soporte de primera para la tokenización de activos — emitir un activo se puede hacer utilizando una transacción incorporada sin el desarrollo de un contrato inteligente.

Las transacciones de Stellar son rápidas y rentables, lo que hace que la red sea excelente para remesas y micropagos. También tiene características integradas para cumplimiento, gestión de activos y auditoría. Si buscas realizar transferencias de valor, emitir activos en Stellar tiene todas las capacidades necesarias.

Activos de Stellar:

nota

Note that while these items are also possible with smart contract tokens, it is more work to build the token contract rather than using the already-implemented features of Stellar asset tokens.

Los activos emitidos en la red Stellar son accesibles para contratos inteligentes mediante el uso del Stellar Asset Contract (SAC) de ese activo.

Stellar Asset Contract

El Stellar Asset Contract (SAC) está compilado en la capa del protocolo y permite que los contratos inteligentes interactúen con los activos emitidos en Stellar. Una instancia del SAC puede ser desplegada para cada activo de Stellar por cualquier persona que desee interactuar con el activo desde un contrato. El SAC tiene acceso a todos los saldos de cuenta (para XLM) y saldos de trustline (para todos los demás activos), así como los saldos de tokens de contratos inteligentes.

Lee más sobre el SAC aquí.

Aprende a desplegar un Stellar Asset Contract para un activo en esta guía paso a paso.

Beneficios del SAC:

  • Compatibilidad: el SAC se beneficia de la interoperabilidad existente de los activos de Stellar.
  • Eficiencia de costo y recursos: el SAC está integrado en el protocolo en lugar de ser un contrato que se ejecuta en una máquina virtual. Each function within the SAC will be more resource-efficient than its contract-coded counterpart.
  • Menos trabajo: no tienes que escribir un contrato completamente nuevo. El SAC de un activo Stellar ya existe en la red y solo necesita ser desplegado para ser utilizado.
  • Personalización: las direcciones de administrador pueden ser contratos. Los emisores de activos pueden establecer un contrato inteligente diferente como administrador para el SAC de su activo. Hacer del administrador otro contrato inteligente permite la adición de lógica personalizada y descentralizada para las capacidades administrativas de los activos, como autorizar saldos y líneas de confianza, acuñar tokens, etc.

Desventajas del SAC:

  • Además de la personalización mencionada anteriormente, no es posible modificar el comportamiento de los activos de Stellar o su SAC. If you’re looking to use assets in a way not supported by Stellar assets, you can create your own smart contract token using the token interface and all applications that interact with tokens using the token interface will be able to interact with the contract token.

Contract tokens

If you have a unique use case where the capabilities Stellar Assets are not sufficient, you can create a contract token that implements the token interface. La interfaz de token especifica las funciones y eventos que un contrato debe implementar para ser compatible con aplicaciones que utilizan tokens.

The SAC also implements the token interface and applications that interoperate with the token interface can seamlessly interact with Stellar assets and contract tokens.

nota

Los contratos inteligentes no pueden utilizar activos de Stellar a menos que ese activo de Stellar tenga un SAC desplegado. Cualquiera puede desplegar el SAC para un activo de Stellar en su dirección reservada.

Estos escenarios de ejemplo no son posibles con el SAC y demuestran para qué podrías usar la interfaz de token:

  • As the creator of a new token, you decide to implement a feature within your token smart contract that enables you to receive a 1% fee from every transaction involving your token. Cada vez que alguien transfiere tu token a otro usuario, se deduce automáticamente el 1% del monto transferido y se envía a una dirección de billetera designada que controlas.
  • Quieres desarrollar un contrato de fábrica que automatice la creación de instancias de un token específico. Este contrato sirve como una forma centralizada y estandarizada de desplegar nuevos contratos de token a pedido sin intervención manual cada vez que se necesita una nueva instancia.

Enlaces útiles