Registro de un espacio de nombres

Cree un nombre único para identificar sus activos.

requisitos previos

  • Complete la sección de inicio.

  • Cree una nueva cuenta.

  • Cargue la cuenta con suficiente bitxor para pagar las tarifas de transacción.

Método #01: Uso de la billetera de escritorio

  1. Haga clic en �?strong>Espacio de nombres�?en el menú del lado izquierdo.

resources/images/screenshots/desktop-register-namespace-1.gif
  1. Haga clic en la pestaña �?strong>Crear nuevos espacios de nombres�?

resources/images/screenshots/desktop-register-namespace-2.gif

3. Ingrese la información para su nuevo espacio de nombres. Haz clic en �?strong>Enviar�? Verifique la información en la ventana emergente e ingrese la contraseña de su billetera. Haga clic en �?strong>Confirmar�?

Note

El nombre debe ser único en la red, pudiendo tener una longitud máxima de 64 caracteres, siendo los caracteres permitidos a, b, c,�? z, 0, 1, 2,�? 9, _ , -.

resources/images/screenshots/desktop-register-namespace-3.gif

4. Puede comprobar que el espacio de nombres se ha creado volviendo a la pestaña �?strong>Espacios de nombres propios�? Si no ve su espacio de nombres, intente hacer clic en el icono de actualización.

resources/images/screenshots/desktop-register-namespace-4.gif

Note

Para conservar la propiedad de su espacio de nombres, deberá ampliar su duración antes de que caduque.

Cuando se confirma la transacción, puedes registrar un subespacio de nombres seguir la siguiente guía.

Método #02: Usando el SDK

  1. Elija un nombre único para su espacio de nombres. Una opción común es utilizar el nombre propio o de su empresa.

  2. Compruebe si el nombre del espacio de nombres está disponible. Por ejemplo, puede usar la Command-line Interface para comprobar si el espacio de nombres se ha registrado.

bitxor-cli namespace info --namespace-name foo
  1. ¿Está disponible el espacio de nombres? ¡Intenta registrarlo antes de que alguien más lo haga! Abra un nuevo archivo y anuncie una transacción de registro de espacio de nombres con el nombre elegido y la duración del alquiler expresada en bloques.

// replace with namespace name
const namespaceName = 'foo';
// replace with duration (in blocks)
const duration = UInt64.fromUint(172800);
// replace with network type
const networkType = NetworkType.TEST_NET;

const namespaceRegistrationTransaction = NamespaceRegistrationTransaction.createRootNamespace(
  Deadline.create(epochAdjustment),
  namespaceName,
  duration,
  networkType,
  UInt64.fromUint(2000000),
);

// replace with private key
const privateKey =
  '1111111111111111111111111111111111111111111111111111111111111111';
const account = Account.createFromPrivateKey(privateKey, networkType);
// replace with meta.networkGenerationHash (nodeUrl + '/node/info')
const networkGenerationHash =
  '1DFB2FAA9E7F054168B0C5FCB84F4DEB62CC2B4D317D861F3168D161F54EA78B';
const signedTransaction = account.sign(
  namespaceRegistrationTransaction,
  networkGenerationHash,
);
// replace with node endpoint
const nodeUrl = 'NODE_URL';
const repositoryFactory = new RepositoryFactoryHttp(nodeUrl);
const transactionHttp = repositoryFactory.createTransactionRepository();

transactionHttp.announce(signedTransaction).subscribe(
  (x) => console.log(x),
  (err) => console.error(err),
);
// replace with namespace name
const namespaceName = 'foo';
// replace with duration (in blocks)
const duration = bitxor_sdk_1.UInt64.fromUint(172800);
// replace with network type
const networkType = bitxor_sdk_1.NetworkType.TEST_NET;
const namespaceRegistrationTransaction = bitxor_sdk_1.NamespaceRegistrationTransaction.createRootNamespace(
  bitxor_sdk_1.Deadline.create(epochAdjustment),
  namespaceName,
  duration,
  networkType,
  bitxor_sdk_1.UInt64.fromUint(2000000),
);
// replace with private key
const privateKey =
  '1111111111111111111111111111111111111111111111111111111111111111';
const account = bitxor_sdk_1.Account.createFromPrivateKey(
  privateKey,
  networkType,
);
// replace with meta.networkGenerationHash (nodeUrl + '/node/info')
const networkGenerationHash =
  '1DFB2FAA9E7F054168B0C5FCB84F4DEB62CC2B4D317D861F3168D161F54EA78B';
const signedTransaction = account.sign(
  namespaceRegistrationTransaction,
  networkGenerationHash,
);
// replace with node endpoint
const nodeUrl = 'NODE_URL';
const repositoryFactory = new bitxor_sdk_1.RepositoryFactoryHttp(nodeUrl);
const transactionHttp = repositoryFactory.createTransactionRepository();
transactionHttp.announce(signedTransaction).subscribe(
  (x) => console.log(x),
  (err) => console.error(err),
);

Note

Para conservar la propiedad de su espacio de nombres, deberá ampliar su duración antes de que caduque.

Método #03: Uso de la CLI

Para crear un nuevo espacio de nombres, abra una ventana de terminal y ejecute el siguiente comando. Reemplace foo con el nombre del espacio de nombres elegido y 172800 con la duración del espacio de nombres expresada en bloques.

bitxor-cli transaction namespace --name foo --rootnamespace --duration 172800