Reimpreso de Satoshi Nakamoto en la comunidad de enlaces.

Las transferencias masivas son una operación común en el ecosistema de Solana, especialmente cuando se lanzan tokens desde el aire o se envían tokens a múltiples direcciones. Este tutorial le mostrará cómo realizar transferencias por lotes en la red Solana, incluida una introducción a los modelos de cuenta, los costos de las transferencias por lotes, etc.

modelo de cuenta solana

Hay tres tipos de cuentas en Solana:

  • Cuenta de datos, utilizada para almacenar datos.

  • Cuenta de programa, utilizada para almacenar programas ejecutables.

  • Las cuentas nativas se refieren a programas nativos de Solana, como "Sistema", "Stake" y "Vote".

Las cuentas de datos se dividen en dos categorías:

  • Todas las cuentas del sistema.

  • Cuenta derivada del programa (PDA)

La dirección de billetera que usamos habitualmente pertenece a todas las cuentas del sistema en la cuenta de datos. Podemos firmar con nuestra propia clave privada y el sistema verifica si la firma es correcta. Si la firma es correcta, podemos acceder a la cuenta. como transferir fondos y cancelar contratos.

Relación entre cuentas en tokens solana

En la serie Ethereum, emitir un token es implementar directamente un contrato inteligente, y la dirección correspondiente al contrato es la dirección del token. Pero solana es diferente.

La siguiente imagen muestra las tres cuentas correspondientes a los tokens solana:

en:

Programa token: es una cuenta de programa y un programa ejecutable implementado oficialmente por SPL Token.

cuenta mint: es una cuenta token creada por el usuario a través del programa token, que es la dirección de acuñación del token. Esta cuenta almacena la información básica del token, como el suministro del token, la dirección para los permisos de acuñación y congelación, y el. Número decimal del token.

Cuenta de token: se refiere a la cuenta de token del usuario. Cada titular de token tiene una cuenta de token específica, que registra el saldo y la información relacionada del Token específico del titular. Por ejemplo, si Alice posee tokens USDT y Slerf, tendrá dos cuentas de tokens respectivamente, una de las cuales registrará el saldo de USDT y la otra registrará el saldo de Slerf. La cuenta se crea vinculando la dirección de usuario y la cuenta token.

De hecho, cuando enviamos un token a una dirección, el programa primero calcula la cuenta del token en la dirección del usuario y registra los cambios en los datos del saldo en la cuenta del token.

alquiler cuenta solana

En el modelo económico de Solana, establecer una cuenta simbólica requiere pagar una cierta cantidad de alquiler a la cadena. Los usuarios también pueden cerrar una cuenta simbólica en su propia dirección para recuperar el alquiler. Al reciclar, deben prestar atención al activo simbólico. 0, de lo contrario perderán activos.

Cuando una dirección de Solana acepta un determinado token, debe crearse una cuenta de token en la dirección para almacenar información del token, saldo y otra información. Si el destinatario no tiene una, el remitente puede crear una cuenta simbólica para el destinatario.

La tarifa de alquiler de almacenamiento en Solana es de 0,00000348 SOL por byte. El tamaño de los datos de la billetera es de 586 bytes y la tarifa de alquiler es de aproximadamente 0,002 SOL.

Costo de la transferencia masiva

Al comprender el modelo de cuenta anterior, podemos saber cuánto costará una transacción de transferencia de tokens y dónde se gastarán estos costos.

Si transferimos tokens Slerf a 10 direcciones, y si 10 nunca aceptan el token, entonces nuestro costo es de 0,02 soles, más la tarifa en cadena por la transferencia.

Si estas 10 direcciones han aceptado Slerf antes, el costo de transferencia es solo una tarifa insignificante en la cadena.


Cómo transferir dinero en lotes

Si está familiarizado con la programación, puede utilizar el SDK proporcionado oficialmente por Solana. Puede visitar la documentación oficial de Solana para obtener instrucciones de uso detalladas y código de muestra.

La siguiente es una introducción detallada sobre cómo utilizar herramientas para realizar transferencias por lotes sin programación. Es la caja de herramientas de un solo clic de Solana más barata, rápida y conveniente en toda la red. Admite la emisión de monedas, la creación de ID de mercado de libros abiertos y la creación de liquidez de Raydium. y eliminar liquidez, transacciones por lotes, etc.

1. Primero abra la página de transferencia por lotes de SlerfTools:

2. Después de vincular la billetera, complete la dirección del token y la lista de direcciones de pago. La lista de direcciones de pago también se puede completar cargando un archivo.

3. Haga clic en Siguiente y aparecerá la siguiente interfaz de confirmación.

4. Después de hacer clic en Enviar transacción, la transferencia se realiza correctamente:

5. Una vez que la transferencia sea exitosa, aparecerán dos hashes de transacciones exitosas. Puede hacer clic para verlos en el navegador de bloques.

Cabe señalar que para ahorrar costos en la cadena y acelerar la velocidad en la cadena, SlerfTools resume cada lote de transferencias en una sola transacción.
Dado que Solana tiene como objetivo acelerar la transmisión de datos entre nodos, cada transacción está limitada a 1232 bytes y su tamaño está limitado a una unidad de transmisión MTU de ipv6. Por lo tanto, es necesario limitar el número de transferencias en cada lote.

A través de múltiples pruebas, hemos concluido que el valor óptimo para la cantidad de transferencias por transacción es: para direcciones nuevas (es decir, direcciones que no han recibido este token antes), cada transferencia por lotes incluye hasta 9 direcciones receptoras para direcciones antiguas; (Es decir, la dirección que recibió este token antes), cada transferencia por lotes puede contener hasta 19 direcciones receptoras. Los intentos de transferencia por encima de estos números recomendados pueden resultar fallidos.

La razón por la que hay menos de lo primero es como se menciona en el artículo. Al recibir una transferencia de token, una dirección que nunca ha recibido este token necesita crear una cuenta de token, que ocupa parte del tamaño de la transacción.