Mysten Labs stellt den Sui Gas Pool der Sui-Entwickler-Community als Open Source zur Verfügung. Dieser innovative Service ist darauf ausgelegt, Gaszahlungen für Transaktionen auf Sui in großem Umfang zu sponsern und erfüllt wichtige Anforderungen rund um die Benutzereinführung für Apps mit hohen Parallelitätsanforderungen.
Suis native Unterstützung für gesponserte Transaktionen ermöglicht es, bei einer Transaktion eine Gasmünze zu verwenden, die einer anderen Adresse als der des Absenders gehört, um Gas zu bezahlen. Mit dieser Funktion kann ein Dienst die Transaktionskosten seiner Benutzer subventionieren, was das Onboarding-Erlebnis für neue Benutzer von Web3 erheblich verbessert. Die Möglichkeit, ohne die Finanzierung einer Wallet loszulegen, verbessert das Benutzererlebnis erheblich, da es mehr Flexibilität und Benutzerfreundlichkeit bietet. Trotz dieser Vorteile kämpfen App-Entwickler oft mit der Komplexität der Verwaltung von Gaszahlungen in großem Maßstab.
Mit dem Sui Gas Pool können Apps durch die Übernahme von Gaszahlungen in großem Umfang ganz einfach bessere Onboarding-Erlebnisse für Benutzer bieten. Darüber hinaus verringert der Sui Gas Pool die Belastung von Apps, die viele gleichzeitige Transaktionen verarbeiten, und ermöglicht es ihnen, ihre Abläufe durch effizient verwaltetes Gas-Sponsoring zu optimieren.
So funktioniert ein Sui-Gaspool
Der Sui Gas Pool wurde mit zwei Hauptzielen entwickelt: horizontale Skalierbarkeit und Allgemeingültigkeit. Das System kann leicht skaliert werden, indem weitere Instanzen hinzugefügt werden, um höhere Durchsatzanforderungen zu erfüllen und sicherzustellen, dass es erhöhte Transaktionsvolumina bewältigen kann. Es ist außerdem generisch konzipiert, sodass jeder Ersteller es entweder als eigenständigen Dienst oder als Teil seines Systems integrieren und betreiben kann.
Beim Initialisieren eines Gaspools werden alle Gascoins abgefragt, die für Sponsoringtransaktionen bestimmt sind und der Sponsoradresse gehören. Anschließend werden sie in kleinere Gascoins mit einem konfigurierbaren Zielanfangssaldo aufgeteilt. Diese Gascoins werden dann der Gaspool-Datenbank hinzugefügt, die verfügbare Gascoins und Gascoin-Reservierungen verwaltet.
Die Finanzierung des Gaspools ist unkompliziert: Senden Sie einfach eine große Gasmünze an die Adresse des Sponsors und der Gaspool erkennt und verarbeitet sie automatisch. Um sicherzustellen, dass die Finanzierung innerhalb des Gaspools aufrechterhalten wird, prüft das System regelmäßig, ob große Gasmünzen im Besitz des Sponsors sind, und teilt diese dann auf, bevor sie dem Gaspool hinzugefügt werden.
Der Gaspooldienst betreibt einen RPC-Server, wobei die Berechtigungskontrolle über ein geheimes Trägertoken in HTTP-Anfragen verwaltet wird. Der Interaktionsworkflow ist wie folgt:
Der Client sendet eine Reservegas-Anfrage an den Gaspool, um Gasmünzen zu reservieren, die dem angegebenen Gasbudget entsprechen.
Der Client fügt der Transaktion die Gasmünzen hinzu und erhält die Unterschrift des Benutzers auf der Transaktion.
Der Client sendet die vom Benutzer signierte Transaktion über die Anforderung „execute_transaction“ an den Gaspool.
Der Gaspool signiert die Transaktion, sendet sie zur Ausführung an einen vollständigen Knoten und gibt die Gasmünzen frei.
Skalierung eines Sui-Gaspools
Der Sui Gas Pool-Dienst skaliert effizient durch mehrere Mechanismen.
Automatische Aufteilung von Gasmünzen: Durch die automatische Aufteilung von Gasmünzen werden viele kleinere Gasmünzenobjekte erstellt, was einen höheren Durchsatz ermöglicht.
Kontrollierte Transaktionsausführung: Konservative Warteheuristiken sind nicht erforderlich, da der Gaspool die volle Kontrolle über die Transaktionsausführung behält und so eine umgehende Freigabe der Gascoins gewährleistet.
Zentralisierte Datenpersistenz: Die Datenpersistenz wird über einen zentralen Redis-Speicher abgewickelt, sodass einzelne Gaspool-Server ohne lokale Datenpersistenzanforderungen oder Wiederherstellung nach einem Absturz ausgeführt werden können. Auf diese Weise können App-Entwickler mit minimalem Aufwand so viele Gaspool-Server wie nötig pro Sponsoradresse ausführen.
Mehrere Sponsoren und Dienste: Das System kann durch mehrere Sponsoren und die Bereitstellung mehrerer Gaspooldienste weiter skaliert werden.
Loslegen
Indem der Sui Gas Pool diese Anforderungen erfüllt und eine robuste, skalierbare Lösung implementiert, verbessert er das Benutzererlebnis und die Betriebseffizienz von Apps auf Sui erheblich. Enoki, die Kundenerlebnisplattform von Mysten Lab, verwendet den Sui Gas Pool bereits für seine Funktion für gesponserte Transaktionen. Durch seine Verwendung in Enoki beweist der Sui Gas Pool seine Zuverlässigkeit und Effizienz in einer Produktionsumgebung und unterstreicht seine Fähigkeit, das Benutzererlebnis und die Betriebseffizienz von Apps auf Sui zu verbessern.
Durch die Bereitstellung der Open Source-Komponente „Sui Gas Pool“ wird sichergestellt, dass die gesamte Sui-Community gesponserte Transaktionen effektiv skalieren und neue Apps mit großen Benutzerbasen unterstützen kann.
Weitere Informationen zum Sui Gas Pool finden Sie im GitHub-Repository. Bei Fragen oder auftretenden Problemen können Sie sich jederzeit an die Ingenieure wenden.