Esta guía le muestra cómo extender el período de alquiler de un espacio de nombres.
Complete la guía registering a namespace.
Tener una cuenta con un espacio de nombres.
Tener una cuenta con suficiente bitxor
para pagar las tarifas de transacción y renovación.
Haga clic en “Espacios de nombres” en el menú del lado izquierdo.
Haga clic en el botón “Editar” (pen bitxor) para el espacio de nombres cuya duración desea extender. Luego haz clic en “Extender duración”.
Ingrese la cantidad de bloques para extender la duración del espacio de nombres. Seleccione la cantidad de tarifas que está dispuesto a gastar. Haga clic en “Enviar”.
Revise la información, ingrese la contraseña de su billetera y haga clic en “Confirmar”.
1. Obtenga la información de su espacio de nombres e inspeccione el valor de la propiedad endHeight
.
La guía usa el espacio de nombres foo
, pero debe seguir junto con el namespace name you have registered y desea extender su duración.
bitxor-cli namespace info --name foo
Namespace: foo
--------------
hexadecimal: 82a9d1ac587ec054
uint: [ 1484701780, 2192167340 ]
type: Root namespace
owner: TBULEA...IPS4
startHeight: 52000
endHeight: 53000
La CLI devuelve que el espacio de nombres se volverá inactivo en la altura 5300
.
El siguiente paso es averiguar la altura actual de la cadena y calcular la cantidad de bloques restantes antes de que su espacio de nombres se vuelva inactivo.
Verifique la altura actual de la cadena de bloques.
bitxor-cli blockchain height
52500
Como puede ver, el espacio de nombres caducará en 500
bloques (53000-52500).
Para evitar perder todos los subespacios de nombres y alias vinculados a foo, vamos a extender la duración del espacio de nombres.
Ampliar la duración del espacio de nombres para 172800
más 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),
);
Una vez que se confirme RegisterNamespaceTransaction, vuelva a verificar que la duración del espacio de nombres se haya extendido.
Valide que endHeight
haya aumentado en 172800
unidades de bloque.
bitxor-cli namespace info --namespace-name foo
Namespace: foo
--------------
hexadecimal: 82a9d1ac587ec054
uint: [ 1484701780, 2192167340 ]
type: Root namespace
owner: BXRBDE...32I
startHeight: 52000
endHeight: 225800
Abra una ventana de terminal y ejecute el siguiente comando.
Reemplace foo
con el nombre del espacio de nombres y 172800
con la cantidad de bloques a extender.
bitxor-cli transaction namespace --name foo --rootnamespace --duration 172800