Operaciones
Registro de un nombre
El registro de nombres se realiza llamando a la función de contrato BNSv2 correspondiente. El llamador se convierte en el propietario del nombre.
Flujo general:
Comprobar disponibilidad
Enviar transacción de registro
Pagar la tarifa STX requerida
Esperar la confirmación
El nombre se asigna al principal del llamador
Ruta 1 — Preorden + Registro (seguro, evita el front-running):
Generar un hash con sal del nombre completamente cualificado: hash160(nombre.espacioDeNombres.salt)
Enviar la preorden del nombre con el hash y los STX a quemar
Esperar al menos 1 bloque
Enviar el registro del nombre con el nombre real, el espacio de nombres y la sal
El contrato verifica que el hash coincida, quema los STX y acuña el NFT para el llamador
Ruta 2 — Reclamación rápida (una sola tx, vulnerable al front-running):
Enviar name-claim-fast con el nombre, el espacio de nombres y el destinatario
STX quemados en un solo paso, NFT acuñado inmediatamente
Riesgo: el nombre es visible en el mempool antes de la confirmación, por lo que puede ser robado Para espacios de nombres gestionados: usar
mng-name-preorder+mng-name-register(sin quema de STX, el administrador controla los precios).
Actualización de registros
Una vez que un nombre tiene propietario, el propietario puede actualizar los registros mediante llamadas al contrato. Las actualizaciones pasan por el zonefile-resolver contrato mediante update-zonefile(nombre, espacioDeNombres, nuevo-zonefile). El llamador debe ser el propietario del nombre O el administrador del espacio de nombres (para espacios de nombres gestionados). Mencione el límite de 8 KB.
Algunos ejemplos de actualización de registros podrían incluir:
Configurar una dirección de Stacks
Actualizar metadatos del perfil
Agregar pares clave-valor personalizados
Solo el propietario actual puede modificar los registros.
Transferencia de un nombre
Los nombres son activos digitales transferibles. transfer(id, sender, recipient) en el contrato BNS-V2. Para espacios de nombres gestionados, use mng-transfer(id, sender, recipient), pero solo si las transferencias del administrador no se han desactivado mediante turn-off-manager-transfers .
El propietario puede:
Transferir la propiedad a otro principal
Usar un nombre dentro de otros contratos
Integrar nombres en mercados o sistemas de identidad
Como la propiedad es nativa de Clarity, las transferencias no requieren confianza.
Resolución de un nombre
La resolución implica consultar a los contratos BNSv2 por el registro almacenado de un nombre.
resolve-name(nombre, espacioDeNombres) en zonefile-resolver
Las funciones correspondientes del SDK de BNSv2: resolveNameZonefile(), getNameInfo(), getPrimaryName().
Las aplicaciones pueden:
Llamar directamente al contrato mediante RPC
Usar ayudas del SDK
Usar indexadores por conveniencia
La resolución es determinista y no depende de servidores centralizados.
Precios
Los precios de los nombres se calculan en función de:
Longitud del nombre
Presencia de vocales
Presencia de caracteres no alfabéticos
Funciones de fijación de precios específicas del espacio de nombres
Para espacios de nombres gestionados, el precio será gestionado directamente por el contrato del administrador del espacio de nombres
Integración NFT
Cada nombre se acuña como un NFT, lo que permite:
Transferencias sencillas de propiedad
Integración con mercados de NFT y otras aplicaciones
Renovaciones
Los nombres en espacios de nombres no gestionados caducan después de los bloques de vida útil. Los propietarios tienen un período de gracia de 5.000 bloques (~34 días) después de la caducidad para renovar mediante name-renewal(espacioDeNombres, nombre).
La renovación quema STX según el precio actual del nombre.
Si no se renueva dentro del período de gracia, el nombre queda disponible para que cualquiera lo registre.
Los nombres de espacios de nombres gestionados NO caducan (renewal-height = 0).
Mercado
BNSv2 tiene un mercado nativo:
list-in-ustx(id, price, commission-trait), listar un nombre en ventaunlist-in-ustx(id), quitar el anunciobuy-in-ustx(id, commission-trait), comprar un nombre listado. La comisión se gestiona mediante el trait de comisión SIP-009.Para espacios de nombres gestionados, el contrato del administrador debe envolver estas funciones.
Establecer un nombre primario
set-primary-name(id)en BNS-V2 permite a un propietario designar uno de sus nombres como su identidad principal.Esto es lo que usan las billeteras y las aplicaciones para mostrar.
Solo un nombre primario por dirección.
Última actualización
¿Te fue útil?