Mysten Labs está abriendo el suministro de Sui Gas Pool a la comunidad de desarrolladores de Sui. Este servicio innovador está diseñado para patrocinar pagos de gas para transacciones en Sui a escala, abordando necesidades importantes en torno a la incorporación de usuarios para aplicaciones con altas necesidades de concurrencia.
El soporte nativo de Sui para transacciones patrocinadas permite que una transacción utilice una moneda de gas propiedad de una dirección diferente a la del remitente para el pago de gas. Esta característica permite que un servicio subsidie los costos de transacción de sus usuarios, mejorando significativamente la experiencia de incorporación para los usuarios nuevos en Web3. Poder comenzar sin financiar una billetera mejora significativamente la experiencia del usuario al brindar mayor flexibilidad y facilidad de uso. A pesar de estas ventajas, los creadores de aplicaciones a menudo luchan con las complejidades de gestionar los pagos de gas a escala.
Sui Gas Pool permite que las aplicaciones ofrezcan fácilmente mejores experiencias de incorporación de usuarios a través del patrocinio de pagos de gas a escala. Además, Sui Gas Pool alivia la carga que experimentan las aplicaciones que manejan transacciones altamente concurrentes, permitiéndoles optimizar sus operaciones a través de un patrocinio de gas administrado de manera eficiente.
Cómo funciona una piscina de gas Sui
Sui Gas Pool se desarrolló con dos objetivos principales en mente: escalabilidad horizontal y generalidad. El sistema puede escalarse fácilmente agregando más instancias para satisfacer demandas de mayor rendimiento, lo que garantiza que pueda manejar mayores volúmenes de transacciones. También está diseñado para ser genérico, lo que permite a cualquier constructor integrarlo y operarlo como un servicio independiente o como parte de su sistema.
Al inicializar un grupo de gas, consulta todas las monedas de gas dedicadas a patrocinar transacciones propiedad de la dirección del patrocinador y luego las divide en monedas de gas más pequeñas con un saldo inicial objetivo configurable. Estas monedas de gas luego se agregan a la base de datos del pool de gas que administra las monedas de gas disponibles y las reservas de monedas de gas.
Financiar el fondo de gas es sencillo: simplemente envíe una moneda de gas con saldo grande a la dirección del patrocinador y el fondo de gas la detectará y procesará automáticamente. Para garantizar que se mantenga la financiación dentro del fondo de gas, el sistema comprueba periódicamente si hay alguna moneda de gas grande propiedad del patrocinador y luego la divide antes de agregarla al fondo de gas.
El servicio de pool de gas opera un servidor RPC, con control de permisos administrado a través de un token de portador secreto en solicitudes HTTP. El flujo de trabajo de interacción es el siguiente:
El cliente envía una solicitud reserve_gas al pool de gas para reservar monedas de gas que cumplan con el presupuesto de gas especificado.
El cliente adjunta las monedas de gas a la transacción y obtiene la firma del usuario en la transacción.
El cliente envía la transacción firmada por el usuario al grupo de gas a través de la solicitud de ejecución_transacción.
El grupo de gas firma la transacción, la envía a un nodo completo para su ejecución y libera las monedas de gas.
Ampliación de una piscina de gas Sui
El servicio Sui Gas Pool escala de manera eficiente a través de varios mecanismos.
División automatizada de monedas de gas: La división automatizada de monedas de gas crea muchos objetos de monedas de gas más pequeños, lo que permite un mayor rendimiento.
Ejecución controlada de transacciones: no se necesitan heurísticas de espera conservadoras, ya que el grupo de gas conserva el control total sobre la ejecución de las transacciones, lo que garantiza que las monedas de gas se liberen con prontitud.
Persistencia de datos centralizada: la persistencia de datos se maneja a través del almacenamiento central de Redis, lo que permite que los servidores de grupos de gas individuales se ejecuten sin requisitos de persistencia de datos locales ni recuperación de fallas. Esto permite a los creadores de aplicaciones ejecutar tantos servidores de pool de gas como sean necesarios por dirección del patrocinador con una sobrecarga mínima.
Múltiples patrocinadores y servicios: el sistema puede escalar aún más si tiene múltiples patrocinadores e implementa múltiples servicios de pool de gas.
Empezar
Al abordar estas necesidades e implementar una solución sólida y escalable, Sui Gas Pool mejora significativamente la experiencia del usuario y la eficiencia operativa de las aplicaciones en Sui. Enoki, la plataforma de experiencia del cliente de Mysten Lab, ya utiliza Sui Gas Pool para su función de transacciones patrocinadas. A través de su uso en Enoki, Sui Gas Pool demuestra su confiabilidad y eficiencia en un entorno de producción, destacando su capacidad para mejorar la experiencia del usuario y la eficiencia operativa de las aplicaciones en Sui.
Hacer que el componente Sui Gas Pool sea de código abierto garantiza que toda la comunidad Sui pueda escalar de manera efectiva las transacciones patrocinadas, admitiendo nuevas aplicaciones con grandes bases de usuarios.
Para obtener más información sobre Sui Gas Pool, visite el repositorio de GitHub. No dude en ponerse en contacto con los ingenieros si tiene alguna pregunta o problema.