espacio de nombres

Los espacios de nombres son cadenas de texto legibles por humanos que se pueden utilizar en lugar de una dirección o un ID de Token.

Crean un lugar único en la cadena de bloques para tu proyecto y tus activos en la cadena de bloques.

Propiedades

Nombre

Los espacios de nombres funcionan de manera similar a los dominios de Internet. Crear un espacio de nombres comienza eligiendo un nombre que utilizarás para referirte a una cuenta o un activo. El nombre debe ser único en la red y tener una longitud máxima de 64 caracteres (los únicos caracteres permitidos son a a z, 0 a 9, _ y -).

Duración

En el momento del registro del espacio de nombres, debes establecer el número de bloques confirmados por los que deseas alquilar el espacio de nombres.

La red pública define una duración mínima de espacio de nombres de 30 días y una duración máxima de 365 días. Estos parámetros pueden ser editables por red.

Puedes utilizar la siguiente fórmula para convertir aproximadamente días en bloques:

\[duración �?\frac{númeroDeDías * 86400}{tiempoObjetivoDeGeneraciónDeBloquesEnSegundos}\]

Por defecto, tiempoObjetivoDeGeneraciónDeBloquesEnSegundos es de 30 segundos.

Durante el período de alquiler, el creador del espacio de nombres puede crear subespacios de nombres, alias de cuentas y tokens. El creador también puede ampliar el alquiler enviando una transacción de registro de espacio de nombres con el número deseado de bloques adicionales.

La red puede definir un período de gracia que permite al creador del espacio de nombres renovar el espacio de nombres más allá de la fecha de vencimiento antes de que esté disponible públicamente para el registro. La red de Bitxor ha establecido el período de gracia en 30 días.

Cuando termina el período de gracia, el espacio de nombres se elimina. En este punto, el espacio de nombres vuelve a estar disponible para su registro.

../_images/namespace-life-cycle.png

Ciclo de vida del espacio de nombres

Permisos según el estado del espacio de nombres

Acción

Espacio de nombres no registrado

Espacio de nombres registrado

Período de gracia

Registrar un nuevo espacio de nombres

✔️

�?/p>

�?/p>

Renovar el espacio de nombres

�?/p>

✔️

✔️

Crear subespacios de nombres

�?/p>

✔️

�?/p>

Vincular un alias a una dirección o token

�?/p>

✔️

�?/p>

Enviar una transacción utilizando un alias

�?/p>

✔️

�?/p>

Note

Solo los espacios de nombres creados durante el bloque de inicio pueden tener una duración perpetua.

Subespacios de nombres

En Internet, un dominio puede tener un subdominio. Los espacios de nombres de Bitxor pueden tener subespacios de nombres para identificar y organizar activos.

../_images/namespace-setup.png

Organizando activos con espacios de nombres

En la red pública, los espacios de nombres pueden tener hasta 3 niveles, es decir, un espacio de nombres y dos niveles de dominios de subespacios de nombres. Cada espacio de nombres raíz puede tener hasta 256 subespacios de nombres.

Un subespacio de nombres no tiene una duración propia; hereda la duración de su espacio de nombres padre.

Puedes crear varios subespacios de nombres con el mismo nombre en diferentes espacios de nombres. Por ejemplo, puedes crear los subespacios de nombres foo.bar y foo2.bar, pero la combinación de espacio de nombres raíz + subespacio de nombres debe permanecer única.

Alias

La transacción de alias de dirección vincula espacios de nombres a cuentas y tokens. Un alias o su activo vinculado se pueden utilizar indistintamente al enviar una transacción. El uso del alias hace que las direcciones largas sean memorables y los tokens sean reconocibles.

El creador del espacio de nombres puede vincular el espacio de nombres a una cuenta o un token. Este vínculo se puede editar, por lo que el creador puede desvincular un alias previamente establecido y vincular el espacio de nombres a un activo diferente.

Los recibos de bloques almacenan la resolución del alias para una transacción determinada. Es decir, cuál era la dirección real o el ID de token detrás de un espacio de nombres cuando se emitió una transacción.

Las transacciones de alias tienen las siguientes restricciones:

  • Una cuenta o token se puede vincular a muchos espacios de nombres, pero un espacio de nombres solo se puede vincular a una cuenta o un token.

  • Una cuenta puede asignar un espacio de nombres a cualquier cuenta que permita recibir una transacción de Alias de Dirección.

  • Una cuenta solo puede vincular el alias a un ID de token cuando la cuenta es la creadora del token.

Tarifa de alquiler

Una cuenta que desee registrar un espacio de nombres o ampliar su duración 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 transacción de registro de espacio de nombres válida.

La Puerta de enlace REST proporciona un punto de conexión para obtener una estimación de cuánta moneda de la red te costará registrar un espacio de nombres:

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

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

Las tarifas de alquiler de espacios de nombres por defecto son configurables por red, pero la red ajusta dinámicamente las tarifas de alquiler de espacios de nombres con el tiempo.

Valores predeterminados para la red pública

Propiedad

Valor

Registro de un espacio de nombres

0.000001 bitxor por bloque.

Ampliación de la duración de un espacio de nombres

0.000001 bitxor por bloque.

Creación de un subespacio de nombres

0.0001 bitxor.

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

0x414E

NamespaceRegistrationTransaction

Registrar un espacio de nombres para organizar tus activos.

0x424E

AddressAliasTransaction

Vincular un nombre de espacio de nombres a una cuenta.

0x434E

TokenAliasTransaction

Vincular un nombre de espacio de nombres a un token.

Guías relacionadas