Mysten Labs 正在向 Sui 開發者社區開放 Sui Gas Pool 的源代碼。這項創新服務旨在爲 Sui 上的大規模交易提供 Gas 支付,滿足具有高併發需求的應用在用戶入門方面的重要需求。
Sui 原生支持贊助交易,允許交易使用與發送者不同的地址擁有的 gas 幣支付 gas 費用。此功能允許服務商補貼用戶的交易成本,從而顯著提升 Web3 新用戶的入門體驗。無需爲錢包注資即可開始使用,通過提供更大的靈活性和易用性,顯著提升了用戶體驗。儘管有這些優勢,應用程序構建者仍經常難以應對大規模管理 gas 費用的複雜性。
Sui Gas Pool 允許應用程序通過大規模贊助 gas 支付,輕鬆提供更出色的用戶入門體驗。此外,Sui Gas Pool 還減輕了處理高度併發交易的應用程序的負擔,使它們能夠通過高效管理的 gas 贊助來簡化運營。
隋氣藏的工作原理
Sui Gas Pool 的開發主要考慮了兩個目標:水平可擴展性和通用性。該系統可以通過添加更多實例來輕鬆擴展,以滿足更高的吞吐量需求,從而確保能夠處理增加的交易量。它還被設計爲通用的,允許任何構建者將其作爲獨立服務或系統的一部分進行集成和操作。
初始化 gas 池時,它會查詢贊助者地址擁有的所有用於贊助交易的 gas 幣,然後將它們拆分爲具有可配置目標初始餘額的較小 gas 幣。然後,這些 gas 幣被添加到管理可用 gas 幣和 gas 幣預留的 gas 池數據庫中。
爲 gas 池提供資金非常簡單:只需將大量餘額 gas 幣發送到贊助商地址,gas 池就會自動檢測並處理它。爲了確保 gas 池內的資金得到維持,系統會定期檢查贊助商是否擁有任何大量 gas 幣,然後在將其添加到 gas 池之前進行拆分。
氣池服務運行一個 RPC 服務器,通過 HTTP 請求中的祕密承載令牌來管理權限控制。交互工作流程如下:
客戶端向 Gas 池發送 Reserve_gas 請求,以預留滿足指定 Gas 預算的 Gas 幣。
客戶端將gas幣附加到交易中,並獲取用戶對交易的簽名。
客戶端通過execute_transaction請求將用戶簽名的交易發送至gas pool。
氣池對交易進行簽名,將其發送到完整節點執行,並釋放氣幣。
探索隋氣田
Sui Gas Pool 服務通過多種機制實現有效擴展。
自動化 Gas 幣分割:自動化 Gas 幣分割會創建許多較小的 Gas 幣對象,從而提高吞吐量。
受控交易執行:由於 gas 池完全控制交易執行,因此不需要保守的等待啓發式方法,確保及時釋放 gas 幣。
集中式數據持久性:數據持久性通過中央 Redis 存儲處理,允許單個天然氣池服務器運行而無需本地數據持久性要求或崩潰恢復。這允許應用程序構建者以最小的開銷爲每個贊助商地址運行儘可能多的天然氣池服務器。
多贊助商和服務:通過擁有多個贊助商和部署多個氣池服務,系統可以進一步擴展。
開始使用
通過滿足這些需求並實施強大、可擴展的解決方案,Sui Gas Pool 顯著提升了 Sui 上應用程序的用戶體驗和運營效率。Mysten Lab 的客戶體驗平臺 Enoki 已經將 Sui Gas Pool 用於其贊助交易功能。通過在 Enoki 中的使用,Sui Gas Pool 在生產環境中展示了其可靠性和效率,凸顯了其提升 Sui 上應用程序的用戶體驗和運營效率的能力。
將 Sui Gas Pool 組件開源可確保整個 Sui 社區能夠有效地擴展贊助交易,支持擁有龐大用戶羣的新應用。
要了解有關 Sui Gas Pool 的更多信息,請訪問 GitHub 存儲庫。如有任何疑問或遇到問題,請隨時聯繫工程師。