Mysten Labs está abrindo o código do Sui Gas Pool para a comunidade de desenvolvedores Sui. Este serviço inovador foi projetado para patrocinar pagamentos de gás para transações em Sui em grande escala, atendendo a necessidades importantes de integração de usuários para aplicativos com altas necessidades de simultaneidade.

O suporte nativo do Sui para transações patrocinadas permite que uma transação use uma moeda de gás de propriedade de um endereço diferente do remetente para o pagamento de gás. Este recurso permite que um serviço subsidie ​​os custos de transação de seus usuários, melhorando significativamente a experiência de integração para usuários novos no Web3. Ser capaz de começar sem financiar uma carteira melhora significativamente a experiência do usuário, proporcionando maior flexibilidade e facilidade de uso. Apesar dessas vantagens, os criadores de aplicativos muitas vezes enfrentam as complexidades do gerenciamento de pagamentos de gás em grande escala.

O Sui Gas Pool permite que os aplicativos ofereçam facilmente melhores experiências de integração do usuário por meio do patrocínio de pagamentos de gás em grande escala. Além disso, o Sui Gas Pool alivia a carga que os aplicativos que lidam com transações altamente simultâneas enfrentam, permitindo-lhes agilizar suas operações por meio do patrocínio de gás gerenciado de forma eficiente.

Como funciona uma piscina de gás Sui

O Sui Gas Pool foi desenvolvido com dois objetivos principais em mente: escalabilidade horizontal e generalidade. O sistema pode ser facilmente dimensionado adicionando mais instâncias para atender às demandas de maior rendimento, garantindo que ele possa lidar com maiores volumes de transações. Ele também foi projetado para ser genérico, permitindo que qualquer construtor o integre e opere como um serviço independente ou como parte de seu sistema.

Ao inicializar um pool de gás, ele consulta todas as moedas de gás dedicadas ao patrocínio de transações pertencentes ao endereço do patrocinador e depois as divide em moedas de gás menores com um saldo inicial configurável. Essas moedas de gás são então adicionadas ao banco de dados do pool de gás que gerencia as moedas de gás disponíveis e as reservas de moedas de gás. 

Financiar o pool de gás é simples: basta enviar uma moeda de gás com grande saldo para o endereço do patrocinador e o pool de gás irá detectá-la e processá-la automaticamente. Para garantir que o financiamento dentro do pool de gás seja mantido, o sistema verifica periodicamente se há alguma moeda de gás grande de propriedade do patrocinador e depois a divide antes de adicioná-la ao pool de gás.

O serviço gas pool opera um servidor RPC, com controle de permissão gerenciado por meio de um token de portador secreto em solicitações HTTP. O fluxo de trabalho de interação é o seguinte:

  1. O cliente envia uma solicitação reserve_gas ao pool de gás para reservar moedas de gás que atendam ao orçamento de gás especificado.

  2. O cliente anexa as moedas de gás à transação e obtém a assinatura do usuário na transação.

  3. O cliente envia a transação assinada pelo usuário para o gas pool por meio da solicitação execute_transaction.

  4. O gas pool assina a transação, envia-a para um nó completo para execução e libera as moedas de gás.

Dimensionando uma piscina de gás Sui

O serviço Sui Gas Pool é escalonado de forma eficiente por meio de vários mecanismos. 

  1. Divisão automatizada de moedas de gás: A divisão automatizada de moedas de gás cria muitos objetos menores de moedas de gás, permitindo maior rendimento. 

  2. Execução controlada de transações: Não são necessárias heurísticas de espera conservadoras, uma vez que o gas pool mantém controle total sobre a execução das transações, garantindo que as moedas de gás sejam liberadas prontamente.

  3. Persistência de dados centralizada: a persistência de dados é tratada por meio do armazenamento central do Redis, permitindo que servidores individuais de pool de gás sejam executados sem requisitos locais de persistência de dados ou recuperação de falhas. Isso permite que os criadores de aplicativos executem quantos servidores de pool de gás forem necessários por endereço do patrocinador com sobrecarga mínima.

  4. Vários patrocinadores e serviços: O sistema pode ser ampliado ainda mais tendo vários patrocinadores e implantando vários serviços de pool de gás.

iniciar

Ao atender a essas necessidades e implementar uma solução robusta e escalável, o Sui Gas Pool melhora significativamente a experiência do usuário e a eficiência operacional dos aplicativos no Sui. Enoki, plataforma de experiência do cliente do Mysten Lab, já usa o Sui Gas Pool  como recurso de transação patrocinada. Através do seu uso no Enoki, o Sui Gas Pool demonstra sua confiabilidade e eficiência em um ambiente de produção, destacando sua capacidade de aprimorar a experiência do usuário e a eficiência operacional para aplicativos no Sui.

Tornar o componente Sui Gas Pool de código aberto garante que toda a comunidade Sui possa dimensionar efetivamente as transações patrocinadas, oferecendo suporte a novos aplicativos com grandes bases de usuários.

Para saber mais sobre o Sui Gas Pool, visite o repositório GitHub. Sinta-se à vontade para entrar em contato com os engenheiros em caso de dúvidas ou problemas enfrentados.