Terminologia
O que são Hooks?
Seção intitulada “O que são Hooks?”Hooks são módulos de web assembly pequenos e eficientes projetados especificamente para o Xahau. Os Hooks podem ser escritos em qualquer linguagem (compilável para WebAssembly) e a maioria das lógicas de negócios e conceitos de contratos inteligentes podem ser implementados em um hook. Tipicamente os Hooks são escritos em C.
Os Hooks são instalados em uma conta Xahau usando uma transação SetHook. Uma vez instalado em uma conta, um hook pode:
- Bloquear ou permitir transações de entrada e saída na conta,
- Modificar e manter estado interno e lógica específicos ao hook naquela conta, e
- Emitir novas transações em nome da conta.
Glossário
Seção intitulada “Glossário”Esta documentação de Hooks e a API de Hooks usam um conjunto de termos não familiares. Use a tabela de consulta abaixo se se encontrar perdido.
| Termo | Explicação |
|---|---|
| Hook | Este termo se refere a um conjunto de coisas dependendo do contexto |
| Transação de Origem | A transação que acionou o Hook. Esta pode ser uma transação enviada para fora ou para dentro de uma conta com um Hook instalado. |
| Conta de Origem | A conta que enviou uma Transação de Origem. |
| Conta Hook | A conta onde o Hook atualmente em execução está. Esta é a conta que possui o Hook, a conta que realizou a Transação SetHook que criou o Hook e a conta à qual pertence o Estado do Hook para o Hook atualmente em execução. |
| Instalador | A conta que está atualmente instalando um Hook usando a transação SetHook. |
| Transação Emitida | Uma nova transação criada por um Hook durante a execução do Hook que não é a Transação de Origem. Estas são tipicamente usadas para enviar fundos de volta para a Conta de Origem. Veja: Transações Emitidas. |
| Estado | Um mapa chave-valor por conta de chaves de 32 bytes para dados arbitrários. Todos os Hooks presentes em uma conta têm acesso ao mesmo Estado do Hook e podem modificá-lo. Note que o Estado do Hook vive na Conta Hook não na Conta de Origem. Veja: Gerenciamento de Estado. |
| SetHook | Um novo Tipo de Transação introduzido na emenda de Hooks que instala um Hook em uma conta Xahau. Veja: Transação SetHook. |
| Guardas | Um mecanismo de controle especial que você precisa usar se escrever um loop em um Hook. Veja: Loops e Guardas. |
| Concessões | Permissão especial que um Instalador de Hook pode dar a outra conta ou a um Hook específico (independentemente de onde está instalado) para modificar o Estado do Hook na conta do Instalador. |
| Namespace | Um código único de 32 bytes delimitando um conjunto de chaves de estado de outro. A mesma chave de estado pode ser usada por dois Hooks diferentes sem interferir um com o outro se os namespaces definidos nos Hooks forem diferentes. |
| Parâmetros | Parâmetros de tempo de instalação que podem ser opcionalmente definidos em um Hook. |
| Contagem de Referência | Um objeto não proprietário no ledger pode ter contagem de referência, significando que é excluído quando a última conta que o referenciou (usou) remove sua referência a ele. |
| XFL ou Ponto Flutuante | Uma forma de fazer matemática de alta precisão em Hooks, como para cálculo de taxas de câmbio. Veja: Números de Ponto Flutuante (XFL). |
| Objetos Serializados (STO) | A forma como o xahaud transmite e armazena objetos do ledger. Veja: Objetos Serializados. |
| Slots e Keylets | Slots podem conter objetos do ledger e keylets identificam esses objetos. Veja: Slots e Keylets. |
| Trace | Uma forma de imprimir uma linha de log para a saída do xrpld a partir de um Hook. Veja: Depurando Hooks. |