Token

Los tokens son activos fijos que representan un conjunto de cosas múltiples e idénticas que no cambian.

Un token puede ser lo que se conoce convencionalmente como un token, pero también puede ser una colección de activos más especializados, como puntos de recompensa, acciones, firmas, indicadores de estado, votos u otras monedas, por ejemplo.

La especialización del token se logra a través de sus propiedades, que se establecen durante la creación del token.

Una vez creado, cada token tiene un identificador único representado como un número entero sin signo de 64 bits. Por ejemplo, la moneda nativa de Bitxor, BXR, tiene el ID de token 0x3D1FE6EDC7F9611E.

Note

Si creas un token que debe ser utilizado por otros usuarios, es muy conveniente utilizar un espacio de nombres para asignar un alias al ID del token en una cadena legible para los humanos. Por ejemplo, BXR utiliza el alias bitxor.

Propiedades del Token

Divisibilidad

Determina el número de decimales en los que se puede dividir el token. Una divisibilidad de 3 significa que la fracción más pequeña en la que se puede dividir un token es 0.001.

Cuando se usan decimales, las unidades se llaman relativas, y cuando no se usan decimales, las unidades se llaman absolutas. Es decir, con una divisibilidad de 3, 1 unidad absoluta corresponde a 0.001 unidades relativas. Para convertir de unidades relativas a absolutas, se multiplica por 10divisibility.

La divisibilidad debe estar en el rango de 0 a 6 (incluido).

Suministro inicial

Indica la cantidad de tokens en circulación inicialmente, en unidades absolutas.

Esta cantidad puede cambiarse posteriormente mediante una TokenSupplyChangeTransaction si la bandera Supply mutable (ver más abajo) del token está establecida en verdadero.

El suministro total debe estar en el rango de 0 a 800,000,000 unidades absolutas.

Duración

Especifica el número de bloques confirmados durante los cuales el token está alquilado.

Los tokens con vencimiento pueden permanecer en la red pública de Bitxor hasta 3650 días (10 años), siendo este parámetro máximo editable por red.

Los tokens sin vencimiento se pueden crear estableciendo esta propiedad en 0.

Note

La duración del token no se puede extender después de su creación. Antes de crear uno, considera si tu caso de uso requiere que el token expire o no. Ten en cuenta que este comportamiento es diferente para los Namespaces.

La siguiente fórmula se utiliza para convertir días en bloques aproximadamente:

\[duration �?\frac{numberOfDays * 86400}{blockGenerationTargetTimeInSeconds}\]

Por defecto, blockGenerationTargetTimeInSeconds es 30 segundos.

Supply mutable

Si se establece en verdadero, el suministro del token puede cambiar en un momento posterior. En este caso, el creador del token puede redefinir el suministro total del token con una TokenSupplyChangeTransaction. La transacción aumenta o disminuye el suministro del token en unidades de delta.

Para disminuir el suministro del token, la cuenta creadora del token debe poseer al menos delta unidades. Esto significa que el creador del token no puede eliminar tokens de los saldos de otras cuentas, incluso si la propiedad de suministro mutable está habilitada.

Si Supply mutable se establece en falso, el suministro del token no se puede cambiar. Sin embargo, si el creador del token posee todo el suministro del token, esto es modificable incluso si se define que el token no es mutable.

Transferible

../_images/token-transferable.png

Ejemplo de un token no transferible

Si se establece en verdadero, el token se puede transferir entre cuentas arbitrarias. De lo contrario, el token solo se puede transferir desde o hacia el creador del token.

Restrictable

../_images/token-restriction-delegated.png

Ejemplo de una restricción de token

Si se establece en verdadero, el creador del token puede configurar restricciones personalizadas (restrictions).

Revocable

Los tokens pueden ser revocados (es decir, recuperados) por el creador del token cuando esta bandera está establecida en verdadero.

Tarifa de creación

Una cuenta que desee crear un token debe pagar una tarifa de alquiler además de la tarifa de transacción. Ambas tarifas se deducirán del saldo de la cuenta después del anuncio de una TokenDefinitionTransaction válida.

La REST Gateway proporciona un punto final para obtener una estimación de cuánto te costará en moneda de la red crear un token:

const nodeUrl = 'NODE_URL';
const repositoryHttp = new RepositoryFactoryHttp(nodeUrl);

const networkHttp = repositoryHttp.createNetworkRepository();
networkHttp.getRentalFees().subscribe((rentalFees) => {
  console.log(rentalFees.effectiveTokenRentalFee.compact());
});
const nodeUrl = 'NODE_URL';
const repositoryHttp = new bitxor_sdk_1.RepositoryFactoryHttp(nodeUrl);
const networkHttp = repositoryHttp.createNetworkRepository();
networkHttp.getRentalFees().subscribe((rentalFees) => {
  console.log(rentalFees.effectiveTokenRentalFee.compact());
});

Por defecto, crear un token en la red pública de Bitxor tiene un costo inicial de 0.5 bitxor (configurable por red mediante la propiedad tokenRentalFee). Sin embargo, la red ajusta dinámicamente la tarifa de alquiler del token con el tiempo.

Para calcular la tarifa de alquiler efectiva, la red multiplica el valor predeterminado establecido en la configuración por el multiplicador de tarifa dinámica de la red.

Transacciones relacionadas

Id

Tipo

Descripción

0x414D

TokenDefinitionTransaction

Crear un nuevo token.

0x424D

TokenSupplyChangeTransaction

Cambiar el suministro total del token.

0x434D

TokenSupplyRevocationTransaction

Recuperar tokens transferidos.

Guías relacionadas