Saltearse al contenido

Módulos en Aptos

Aptos permite la publicación sin permisos de módulos dentro de un paquete, así como la actualización de aquellos que tienen establecida una política de compatibilidad apropiada.

Un módulo contiene varias estructuras y funciones, similar a Rust.

Durante el tiempo de publicación del paquete, se mantienen las siguientes restricciones:

  • Tanto las estructuras como las firmas de funciones públicas se publican como inmutables.
  • La función init_module juega un papel crucial en la inicialización del módulo:
    • Cuando un módulo se publica por primera vez (es decir, el módulo no existe en la cadena), la VM buscará y ejecutará la función init_module(account: &signer).
    • Cuando se actualiza un módulo existente que ya está en la cadena, la función init_module NO será llamada.
    • El firmante de la cuenta que está publicando el módulo se pasa a la función init_module.
    • Esta función debe ser privada y no debe devolver ningún valor.
    • La función init_module se utiliza comúnmente para inicializar estructuras de datos específicas del módulo o establecer estados iniciales.