Conversión entre nombres de usuario y direcciones

Descripción general

Initia Usernamesse asignan a direcciones de billetera utilizando un formato de dominio específico (por ejemplo, xxx.init). Esta sección proporciona pautas sobre cómo interactuar con los módulos Move que administran estos nombres de usuario. La funcionalidad incluye recuperar direcciones de nombres de usuario y viceversa.

Dirección del módulo

El usernamesmódulo no forma parte de la biblioteca estándar y se implementa a través de una billetera multifirma. La dirección actual del módulo para el usernamesmódulo es:

  • iniciación-1:0x42cd8467b1c86e59bf319e5664a09b6b5840bb3fac64f5ce690b5041c530565a

Obteniendo dirección del nombre de usuario

Para recuperar una dirección de un nombre de usuario, get_address_from_namese utiliza la función de vista. La interfaz de funciones es la siguiente:

#[view]
public fun get_address_from_name(name: String): Option<address>

rizoiniciadoinicia.js

curl -X POST "[LCD_URI]/initia/move/v1/accounts/[MODULE_ADDR]/modules/usernames/view_functions/get_address_from_name" \
  -H "accept: application/json" \
  -H "Content-Type: application/json" \
  -d "{ \"args\": [ \"[BCS_ENCODED_NAME]\" ]}"
  
# BCS_ENCODED_NAME is the bcs encoded string without .init
  
#{
#  "data": "\"0x...\"",
#  "events": [],
#  "gas_used": "5699"
#}
  

Obteniendo nombre de usuario de la dirección

Para recuperar un nombre de usuario de una dirección, get_name_from_addressse utiliza la función de vista:

#[view]
public fun get_name_from_address(addr: address): Option<String>

rizoiniciadoinicia.js

curl -X POST "[LCD_URI]/initia/move/v1/accounts/[MODULE_ADDR]/modules/usernames/view_functions/get_name_from_address" \
  -H "accept: application/json" \
  -H "Content-Type: application/json" \
  -d "{ \"args\": [ \"[BCS_ENCODED_ADDRESS]\" ]}"
  
#{
#  "data": "\"abc...\"",
#  "events": [],
#  "gas_used": "5699"
#}
  

Conclusión

En general, la capacidad de vincular direcciones de billetera con nombres legibles por humanos es invaluable, ya que mejora significativamente la experiencia del usuario al reemplazar las engorrosas direcciones hexadecimales con nombres fácilmente reconocibles. Esta funcionalidad es crucial para la adopción y el uso continuo de la tecnología blockchain en aplicaciones cotidianas, haciéndola más accesible y práctica para una audiencia más amplia.

Last updated