Terminología
¿Qué son los Hooks?
Sección titulada «¿Qué son los Hooks?»Los Hooks son pequeños y eficientes módulos de WebAssembly diseñados específicamente para Xahau. Pueden escribirse en cualquier lenguaje que compile a WebAssembly, y la mayoría de la lógica de negocio y conceptos de smart contracts pueden implementarse en un Hook. Normalmente, se escriben en C.
Los Hooks se instalan en una cuenta de Xahau mediante una transacción SetHook. Una vez instalados, un Hook puede:
- Bloquear o permitir transacciones entrantes y salientes en la cuenta,
- Modificar y mantener estado interno y lógica específica del Hook en esa cuenta, y
- Emitir nuevas transacciones en nombre de la cuenta.
Glosario
Sección titulada «Glosario»Esta documentación utiliza términos específicos que pueden resultar desconocidos. Consulta la siguiente tabla si necesitas orientación:
| Término | Explicación |
|---|---|
| Hook | Este término puede referirse a varias cosas según el contexto |
| Transacción originaria | La transacción que dispara la ejecución del Hook. Puede ser una transacción enviada desde o hacia una cuenta con un Hook instalado. |
| Cuenta originaria | La cuenta que envió la transacción originaria. |
| Cuenta del Hook | La cuenta donde reside el Hook que se está ejecutando. Es la cuenta que lo instaló mediante la transacción SetHook y donde se almacena su estado. |
| Instalador | La cuenta que está instalando un Hook mediante la transacción SetHook. |
| Transacción emitida | Una nueva transacción creada por un Hook durante su ejecución (distinta de la originaria). Normalmente se usa para enviar fondos de vuelta. Ver: Emitted Transactions. |
| Estado | Un mapa clave-valor por cuenta donde las claves son de 32 bytes y los valores datos arbitrarios. Todos los Hooks de una cuenta comparten este estado. Vive en la cuenta del Hook, no en la cuenta originaria. Ver: State Management. |
| SetHook | Tipo de transacción introducido por Hooks que permite instalar un Hook en una cuenta. Ver: SetHook Transaction. |
| Guards | Mecanismo de control obligatorio para usar bucles en Hooks. Ver: Loops and Guarding. |
| Grants | Permisos que un instalador puede otorgar a otros Hooks o cuentas para modificar su estado. |
| Namespace | Código único de 32 bytes que separa espacios de estado. Permite que distintos Hooks usen las mismas claves sin conflicto. |
| Parameters | Parámetros definidos en el momento de instalación de un Hook. |
| Reference Counting | Sistema donde un objeto del ledger se elimina cuando ya no es referenciado por ninguna cuenta. |
| XFL o coma flotante | Método para cálculos de alta precisión en Hooks (por ejemplo, tasas de cambio). Ver: Floating Point Numbers (XFL). |
| Objetos serializados (STO) | Forma en que xahaud almacena y transmite objetos del ledger. Ver: Serialized Objects. |
| Slots y Keylets | Los slots contienen objetos del ledger y los keylets los identifican. Ver: Slots and Keylets. |
| Trace | Método para imprimir logs desde un Hook en la salida de xrpld. Ver: Debugging Hooks. |