Definições de Hook com Contagem de Referência
Quando o bytecode de web assembly de um novo Hook é enviado ao Xahau, uma carga significativa de armazenamento é imposta à rede. Essa carga de armazenamento se reflete nas Taxas de Hook cobradas pela rede.
Para evitar essa carga (e taxas altas para usuários finais), a contagem de referência é utilizada:
- Na primeira vez que um novo Hook é instalado, a Transação SetHook deve fornecer uma taxa significativa.
- O bytecode de web assembly do Hook torna-se um objeto não proprietário com contagem de referência no ledger (chamado de
HookDefinition). - Instalações subsequentes pelo mesmo ou outros usuários para um Hook idêntico (ou seja, com bytecode idêntico) incrementam a contagem de referência. Essas instalações apontam para o mesmo objeto no ledger. Essas transações são cobradas de forma similar à definição de uma Trust Line, pois a carga de armazenamento para o Hook já foi paga na transação Set Hook original.
- Enquanto a contagem de referência na Definição do Hook for maior que zero (significando que uma ou mais contas ainda têm o Hook instalado), o objeto permanece no ledger.
