📢 Gate廣場 #创作者活动第一期# 火熱開啓,助力 PUMP 公募上線!
Solana 爆火項目 Pump.Fun($PUMP)現已登入 Gate 平台開啓公開發售!
參與 Gate廣場創作者活動,釋放內容力量,贏取獎勵!
📅 活動時間:7月11日 18:00 - 7月15日 22:00(UTC+8)
🎁 活動總獎池:$500 USDT 等值代幣獎勵
✅ 活動一:創作廣場貼文,贏取優質內容獎勵
📅 活動時間:2025年7月12日 22:00 - 7月15日 22:00(UTC+8)
📌 參與方式:在 Gate 廣場發布與 PUMP 項目相關的原創貼文
內容不少於 100 字
必須帶上話題標籤: #创作者活动第一期# #PumpFun#
🏆 獎勵設置:
一等獎(1名):$100
二等獎(2名):$50
三等獎(10名):$10
📋 評選維度:Gate平台相關性、內容質量、互動量(點讚+評論)等綜合指標;參與認購的截圖的截圖、經驗分享優先;
✅ 活動二:發推同步傳播,贏傳播力獎勵
📌 參與方式:在 X(推特)上發布與 PUMP 項目相關內容
內容不少於 100 字
使用標籤: #PumpFun # Gate
發布後填寫登記表登記回鏈 👉 https://www.gate.com/questionnaire/6874
🏆 獎勵設置:傳播影響力前 10 名用戶,瓜分 $2
Solana Web3.js 2.x版本發布:函數式編程重塑開發體驗
Solana Web3.js 2.x:函數式編程的新時代
Solana Web3.js 在2023年11月發布了2.x版本,相較於1.x版本,新版本帶來了顯著的變化。本文將概括其主要改進。
雖然2.x版本剛剛發布,使用率尚不高,許多流行庫也未遷移,但了解這些變化有助於未來的升級準備。
版本對比
1.x版本使用起來相對簡單,僅包含@solana/web3.js一個包,基於類的設計封裝了大量常用操作。例如,Connection類提供了數十種方法,幾乎涵蓋了開發者所需的所有功能。
然而,這種設計也帶來了一些問題。盡管開發者實際使用的功能可能很少,但整個代碼庫都會被下載到用戶設備上,導致加載時間延長。
2.x版本採取了不同的方法。官方團隊將原有代碼庫拆分爲多個小模塊,如@solana/accounts、@solana/codecs、@solana/rpc等。新版本放棄了基於類的實現,更多地採用單個函數,這有利於JavaScript代碼構建時的優化。未使用的代碼將被刪除,不會下載到用戶設備上。根據官方數據,使用新版本的DApp通常能實現30%的尺寸優化,對於使用功能較少的應用,優化比例可能更高。
這種變化對Solana團隊的文檔質量提出了更高要求。如何讓開發者快速找到所需功能成爲一個關鍵問題。目前,包名的語義性較好,從名稱上就能大致了解其用途,這在一定程度上降低了開發者的遷移難度。
然而,由於剛發布不久,許多項目尚未遷移。一些示例和文檔描述也不夠完善,可能會給開發者帶來一些困惑。
2.x版本的另一個重要特點是零依賴。這對於提高安全性至關重要,尤其是在2023年12月初@solana/web3.js 1.95.5和1.95.6版本遭遇供應鏈攻擊後。新版本更多地使用本機功能,取消了外部依賴和Polyfills的引入,從而降低了安全風險。
主要變更
連接方式
2.x版本採用了更加函數式的方法來處理連接。不再使用Connection類,而是通過配置RPC請求地址來創建請求發送器。例如,發送交易時會自動發起HTTPS請求並建立WSS連接,訂閱交易狀態,在交易確認後返回交易哈希。
密鑰對管理
公鑰和私鑰相關的操作也發生了重大變化。1.x版本常用的Keypair和PublicKey類不再存在,取而代之的是一系列函數。例如,現在使用await generateKeyPair()來生成密鑰對,而不是之前的Keypair.generate()。
新的實現利用了JavaScript的Web Crypto API,使用了原生的Ed25519實現。這導致一些操作變成了異步的,但對於熟悉Promise的現代JavaScript開發者來說,這並不是一個大問題。
交易處理
2.x版本中,不再有Transaction和VersionedTransaction類。System Program相關的方法也需要從其他地方引入。例如,轉帳指令現在需要調用@solana-program/system中的getTransferSolInstruction函數。
新版本提供了函數式編程中常用的pipe形式。交易不再通過Connection發起,而是通過定義的RPC Provider生成特定函數來發起交易。這種方式雖然代碼量略有增加,但提供了更強的可定制性。
React支持
值得注意的是,@solana/web3.js項目中還包含了一個名爲@solana/react的庫,提供了一些React Hook,內置了諸如signIn等功能。
結語
@solana/web3.js 2.x版本的發布展現了Solana團隊持續改進的決心。新版本爲開發者提供了一個高效、靈活、可定制的Solana網路交互方式,有望推動平台的進一步發展和應用。