Solana Web3.js 2.x:函數式編程引領性能優化新時代

robot
摘要生成中

Solana Web3.js 2.x: 函數式編程的新時代

Solana Web3.js 在今年11月發布了2.x版本,相較於1.x版本,新版本帶來了顯著的變化。本文將對這些主要變更進行概述,以幫助開發者爲未來的遷移做好準備。

Web3 新手系列:現在升級 @solana/web3.js 2.x 開啓函數式編程

版本對比

1.x版本的使用相對簡單,僅需一個@solana/web3.js包即可涵蓋所有功能。它基於類的設計,如Connection類,提供了豐富的方法滿足開發需求。然而,這種設計也導致了一些問題,如代碼庫過大,用戶設備需要下載大量可能用不到的代碼。

2.x版本採取了模塊化設計,將代碼庫拆分爲多個小模塊,如@solana/accounts、@solana/codecs等。新版本放棄了基於類的實現,轉而採用單個函數的方式,有利於JavaScript代碼構建時的優化。據官方統計,使用新版本的DApp通常可以獲得30%的體積優化,甚至更多。

然而,這種變化也給Solana團隊帶來了文檔編寫的挑戰,如何幫助開發者快速找到所需功能成爲關鍵。目前,模塊的命名具有良好的語義性,有助於開發者理解各模塊的用途。

值得注意的是,2.x版本實現了零依賴,這一特性在提高安全性方面尤爲重要,尤其是在近期發生的供應鏈攻擊事件之後。

重要變更點

連接

2.x版本採用了更加函數式的方法來處理連接。不再使用Connection類,而是通過配置RPC請求地址來創建請求發送器。

密鑰對

新版本中,Keypair和PublicKey類被一系列函數所取代。例如,使用await generateKeyPair()來生成密鑰對。這些函數多數返回Promise,利用了JavaScript的Web Crypto API。

發送交易

2.x版本不再使用Transaction和VersionedTransaction類。System Program相關方法也需要從其他地方引入。新版本提供了函數式編程中常用的pipe形式,允許更靈活的交易構建。

交易的發起和確認現在更依賴於WebSocket連接,這對RPC供應商的服務穩定性提出了更高要求。

React支持

新版本還包含了@solana/react庫,提供了一些React Hook,內置了諸如signIn等功能。

總結

Solana Web3.js 2.x版本的發布展現了Solana團隊對持續改進的承諾。新版本爲開發者提供了更高效、靈活和可定制的方式與Solana網路交互,有望推動平台的進一步採用和發展。

Web3 新手系列:現在升級 @solana/web3.js 2.x 開啓函數式編程

SOL-6.9%
查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 8
  • 分享
留言
0/400
Permabull Petevip
· 07-21 07:13
这波真顶
回復0
Stake_OrRegretvip
· 07-21 01:55
哇 前端又整了新活
回復0
合约自由人vip
· 07-20 17:43
不就是改了个壳?
回復0
被毕业的矿工vip
· 07-18 21:21
老用户了解,全靠Solana养家 ++
回復0
GateUser-44a00d6cvip
· 07-18 21:19
tmd代码又要改了
回復0
链上资深吃瓜群众vip
· 07-18 21:17
又在吹牛~咱看看这波掉链子不
回復0
GateUser-1a2ed0b9vip
· 07-18 21:10
终于等到这更新了
回復0
BridgeTrustFundvip
· 07-18 20:56
React支持终于来了?舒服了
回復0
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)