Solana Web3.js 2.x phiên bản: Thời đại mới của lập trình hàm
Phiên bản Solana Web3.js 2.x chính thức ra mắt vào tháng 11 năm nay, so với phiên bản 1.x, phiên bản mới đã mang đến những biến đổi lớn. Bài viết này sẽ tóm tắt những thay đổi chính, chuẩn bị cho các nhà phát triển trong tương lai.
So sánh phiên bản
Phiên bản 1.x mặc dù sử dụng đơn giản, nhưng tồn tại một số vấn đề. Nó tập trung tất cả các chức năng vào một gói, dẫn đến việc thiết bị của người dùng cần tải xuống một lượng lớn mã có thể không cần thiết.
Phiên bản 2.x áp dụng thiết kế mô-đun, tách thư viện mã thành nhiều mô-đun nhỏ, chẳng hạn như @solana/accounts, @solana/codecs, v.v. Phiên bản mới đã từ bỏ việc triển khai dựa trên lớp, chuyển sang sử dụng cách tiếp cận với một hàm đơn, giúp tối ưu hóa trong quá trình xây dựng mã JavaScript. Theo dữ liệu chính thức, các DApp sử dụng phiên bản mới thường có thể đạt được tối ưu hóa kích thước lên đến 30%, và đối với các ứng dụng chỉ sử dụng một số chức năng ít ỏi, tỷ lệ tối ưu hóa có thể còn cao hơn.
Tuy nhiên, điều này cũng đặt ra yêu cầu cao hơn về chất lượng tài liệu của đội ngũ Solana. Hiện tại, tính nghĩa của tên gói khá tốt, giúp giảm bớt độ khó trong việc di chuyển cho các nhà phát triển. Nhưng do phiên bản mới vừa được phát hành không lâu, nhiều dự án vẫn chưa thực hiện việc di chuyển, và các ví dụ phiên bản 2.x trên Solana Cookbook cũng tương đối ít.
Một đặc điểm quan trọng khác của phiên bản 2.x là không phụ thuộc. Tính năng này có ý nghĩa quan trọng trong việc nâng cao mức độ an toàn, đặc biệt khi xem xét các cuộc tấn công chuỗi cung ứng gần đây xảy ra trên các phiên bản 1.95.5 và 1.95.6.
Điểm thay đổi quan trọng
kết nối
Phiên bản 2.x sử dụng phương pháp hàm nhiều hơn để xử lý kết nối. Không còn sử dụng lớp Connection nữa, mà thay vào đó là tạo bộ gửi yêu cầu thông qua việc cấu hình địa chỉ yêu cầu RPC.
cặp khóa
Trong phiên bản mới, các lớp Keypair và PublicKey đã được thay thế bằng một loạt các hàm. Ví dụ, bây giờ sử dụng await generateKeyPair() để tạo cặp khóa, thay vì trước đây là Keypair.generate(). Phương pháp mới trả về Promise, điều này là do việc sử dụng API Web Crypto của JavaScript, với việc sử dụng triển khai Ed25519 nguyên bản.
Gửi giao dịch
Phiên bản 2.x không còn sử dụng các lớp Transaction và VersionedTransaction. Các phương thức liên quan đến System Program cũng cần được nhập từ nơi khác. Ví dụ, lệnh transfer bây giờ cần gọi hàm getTransferSolInstruction trong @solana-program/system.
Phiên bản mới cung cấp hình thức pipe thường được sử dụng trong lập trình hàm. Giao dịch không còn được khởi xướng qua Connection, mà được khởi xướng thông qua các hàm cụ thể được tạo ra từ RPC Provider đã định nghĩa. Điều này làm tăng tính tùy chỉnh của mã, nhưng cũng tăng nhẹ khối lượng mã.
Hỗ trợ React
Dự án @solana/web3.js còn bao gồm thư viện @solana/react, cung cấp một số React Hook, tích hợp các chức năng như signIn.
Tóm tắt
Việc phát hành phiên bản 2.x của @solana/web3.js đã thể hiện cam kết của đội ngũ Solana đối với việc cải tiến liên tục. Phiên bản mới cung cấp cho các nhà phát triển một cách tương tác hiệu quả, linh hoạt và tùy chỉnh hơn với mạng Solana, hứa hẹn sẽ thúc đẩy sự phát triển và áp dụng hơn nữa của nền tảng này.
Trang này có thể chứa nội dung của bên thứ ba, được cung cấp chỉ nhằm mục đích thông tin (không phải là tuyên bố/bảo đảm) và không được coi là sự chứng thực cho quan điểm của Gate hoặc là lời khuyên về tài chính hoặc chuyên môn. Xem Tuyên bố từ chối trách nhiệm để biết chi tiết.
11 thích
Phần thưởng
11
6
Chia sẻ
Bình luận
0/400
JustHodlIt
· 17giờ trước
2.x ổn rồi, chiến thôi!
Xem bản gốcTrả lời0
CryptoMom
· 07-20 08:14
Cuối cùng cũng đã cập nhật, cùng xem thử 2.x nào.
Xem bản gốcTrả lời0
ETHReserveBank
· 07-19 17:40
Mở sâm panh rồi, chờ nâng cấp ở hàng đầu.
Xem bản gốcTrả lời0
LuckyHashValue
· 07-19 17:40
sola lại sống lại một lần nữa
Xem bản gốcTrả lời0
LiquidityNinja
· 07-19 17:37
Solana vẫn là bull nhỉ
Xem bản gốcTrả lời0
EyeOfTheTokenStorm
· 07-19 17:13
Dữ liệu cho thấy một đợt tăng giá bò khác sắp diễn ra? Nhập một vị thế không?
Solana Web3.js 2.x ra mắt: Thời đại lập trình hàm không phụ thuộc với thiết kế mô-đun
Solana Web3.js 2.x phiên bản: Thời đại mới của lập trình hàm
Phiên bản Solana Web3.js 2.x chính thức ra mắt vào tháng 11 năm nay, so với phiên bản 1.x, phiên bản mới đã mang đến những biến đổi lớn. Bài viết này sẽ tóm tắt những thay đổi chính, chuẩn bị cho các nhà phát triển trong tương lai.
So sánh phiên bản
Phiên bản 1.x mặc dù sử dụng đơn giản, nhưng tồn tại một số vấn đề. Nó tập trung tất cả các chức năng vào một gói, dẫn đến việc thiết bị của người dùng cần tải xuống một lượng lớn mã có thể không cần thiết.
Phiên bản 2.x áp dụng thiết kế mô-đun, tách thư viện mã thành nhiều mô-đun nhỏ, chẳng hạn như @solana/accounts, @solana/codecs, v.v. Phiên bản mới đã từ bỏ việc triển khai dựa trên lớp, chuyển sang sử dụng cách tiếp cận với một hàm đơn, giúp tối ưu hóa trong quá trình xây dựng mã JavaScript. Theo dữ liệu chính thức, các DApp sử dụng phiên bản mới thường có thể đạt được tối ưu hóa kích thước lên đến 30%, và đối với các ứng dụng chỉ sử dụng một số chức năng ít ỏi, tỷ lệ tối ưu hóa có thể còn cao hơn.
Tuy nhiên, điều này cũng đặt ra yêu cầu cao hơn về chất lượng tài liệu của đội ngũ Solana. Hiện tại, tính nghĩa của tên gói khá tốt, giúp giảm bớt độ khó trong việc di chuyển cho các nhà phát triển. Nhưng do phiên bản mới vừa được phát hành không lâu, nhiều dự án vẫn chưa thực hiện việc di chuyển, và các ví dụ phiên bản 2.x trên Solana Cookbook cũng tương đối ít.
Một đặc điểm quan trọng khác của phiên bản 2.x là không phụ thuộc. Tính năng này có ý nghĩa quan trọng trong việc nâng cao mức độ an toàn, đặc biệt khi xem xét các cuộc tấn công chuỗi cung ứng gần đây xảy ra trên các phiên bản 1.95.5 và 1.95.6.
Điểm thay đổi quan trọng
kết nối
Phiên bản 2.x sử dụng phương pháp hàm nhiều hơn để xử lý kết nối. Không còn sử dụng lớp Connection nữa, mà thay vào đó là tạo bộ gửi yêu cầu thông qua việc cấu hình địa chỉ yêu cầu RPC.
cặp khóa
Trong phiên bản mới, các lớp Keypair và PublicKey đã được thay thế bằng một loạt các hàm. Ví dụ, bây giờ sử dụng await generateKeyPair() để tạo cặp khóa, thay vì trước đây là Keypair.generate(). Phương pháp mới trả về Promise, điều này là do việc sử dụng API Web Crypto của JavaScript, với việc sử dụng triển khai Ed25519 nguyên bản.
Gửi giao dịch
Phiên bản 2.x không còn sử dụng các lớp Transaction và VersionedTransaction. Các phương thức liên quan đến System Program cũng cần được nhập từ nơi khác. Ví dụ, lệnh transfer bây giờ cần gọi hàm getTransferSolInstruction trong @solana-program/system.
Phiên bản mới cung cấp hình thức pipe thường được sử dụng trong lập trình hàm. Giao dịch không còn được khởi xướng qua Connection, mà được khởi xướng thông qua các hàm cụ thể được tạo ra từ RPC Provider đã định nghĩa. Điều này làm tăng tính tùy chỉnh của mã, nhưng cũng tăng nhẹ khối lượng mã.
Hỗ trợ React
Dự án @solana/web3.js còn bao gồm thư viện @solana/react, cung cấp một số React Hook, tích hợp các chức năng như signIn.
Tóm tắt
Việc phát hành phiên bản 2.x của @solana/web3.js đã thể hiện cam kết của đội ngũ Solana đối với việc cải tiến liên tục. Phiên bản mới cung cấp cho các nhà phát triển một cách tương tác hiệu quả, linh hoạt và tùy chỉnh hơn với mạng Solana, hứa hẹn sẽ thúc đẩy sự phát triển và áp dụng hơn nữa của nền tảng này.