Skip to main content
El método RPC getMinimumBalanceForRentExemption te permite calcular el saldo mínimo en lamports necesario para que una cuenta con un tamaño de datos específico esté exenta de renta. En Solana, las cuentas deben mantener un saldo mínimo para cubrir los costos de almacenamiento a lo largo del tiempo, un concepto conocido como renta. Las cuentas con un saldo equivalente a dos años de pagos de renta se consideran “exentas de renta” y sus saldos no se reducen por la renta.

Casos de uso comunes

  • Creación de cuentas: Antes de crear una cuenta nueva (por ejemplo, una nueva cuenta de token, una dirección derivada de un programa o almacenamiento de datos personalizado), usa este método para determinar los lamports necesarios que debes asignar a fin de que esté exenta de renta desde el principio. Esto evita que la cuenta se elimine automáticamente si su saldo disminuye demasiado.
  • Tamaño dinámico de cuentas: Si tu aplicación trabaja con cuentas cuyo tamaño de datos puede aumentar, puedes usar este método para comprobar periódicamente si se necesitan lamports adicionales para mantener la exención de renta.
  • Estimación de costos: Estima el costo en SOL asociado con el despliegue de programas o la creación de cuentas de datos de distintos tamaños.
  • Integración con billeteras y SDK: Las billeteras y los SDK usan este método para asegurarse de financiar correctamente las cuentas nuevas.

Parámetros de la solicitud

  1. dataLength (usize, obligatorio): La longitud de los datos de la cuenta en bytes. Este es el factor principal que determina el mínimo para la exención de renta.
    • Ejemplo: 165 (para una cuenta estándar de SPL Token).
  2. commitment (object, opcional): Especifica el nivel de compromiso de la consulta. Si se omite, se usa el nivel de compromiso predeterminado del nodo RPC.
    • Campos:
      • commitment (cadena): por ejemplo, "finalized", "confirmed" o "processed".

Estructura de la respuesta

El campo result de la respuesta JSON-RPC será un u64 (entero de 64 bits sin signo) que representa la cantidad mínima de lamports necesaria para que una cuenta con el dataLength especificado esté exenta de renta.

Ejemplos

1. Obtén la exención de renta para una cuenta de token estándar (165 bytes)

Este ejemplo consulta el saldo mínimo necesario para que una cuenta típica de SPL Token (que tiene un tamaño de datos de 165 bytes) esté exenta de renta.

2. Obtén la exención de renta para una cuenta de cero bytes

Esto muestra la exención de renta base para una cuenta sin datos, que suele ser el mínimo absoluto para cualquier cuenta.

Consejos para desarrolladores

  • La renta varía según el tamaño de los datos: Cuanto más grandes sean los datos de la cuenta, mayor será el mínimo para la exención de renta.
  • Parámetro de red: El costo subyacente de la renta (lamports por byte-año) es un parámetro de red que, en teoría, puede cambiar mediante una votación del clúster, aunque esto es poco frecuente. El método getMinimumBalanceForRentExemption siempre devolverá el valor actual según el estado del clúster.
  • Lamports frente a SOL: La respuesta se expresa en lamports. Recuerda que 1 SOL = 1,000,000,000 lamports.
  • Esencial para la persistencia: Garantizar que las cuentas estén exentas de renta es fundamental para la persistencia a largo plazo de los datos en la blockchain de Solana.
Esta guía te ayuda a comprender y usar el método RPC getMinimumBalanceForRentExemption para gestionar eficazmente la renta de las cuentas en tus aplicaciones de Solana.