Solana Web3.js 2.x: Thế giới mới của lập trình hàm
Solana Web3.js đã phát hành phiên bản 2.x 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 thay đổi đáng kể. Bài viết này sẽ tóm tắt những thay đổi chính để giúp các nhà phát triển chuẩn bị cho việc chuyển đổi trong tương lai.
So sánh phiên bản
Việc sử dụng phiên bản 1.x tương đối đơn giản, chỉ cần một gói @solana/web3.js là đủ để bao quát tất cả các chức năng. Nó dựa trên thiết kế lớp, chẳng hạn như lớp Connection, cung cấp nhiều phương pháp phong phú để đáp ứng nhu cầu phát triển. Tuy nhiên, thiết kế này cũng dẫn đến một số vấn đề, chẳng hạn như thư viện mã quá lớn, thiết bị của người dùng cần tải xuống nhiều mã có thể không cần thiết.
Phiên bản 2.x áp dụng thiết kế mô-đun, chia nhỏ kho 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, thay vào đó sử dụng phương pháp hàm đơn, có lợi cho việc tối ưu hóa khi xây dựng mã JavaScript. Theo thống kê chính thứ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 tới 30%, thậm chí nhiều hơn.
Tuy nhiên, sự thay đổi này cũng mang đến cho đội ngũ Solana thách thức trong việc viết tài liệu, làm thế nào để giúp các nhà phát triển nhanh chóng tìm thấy các chức năng cần thiết trở thành yếu tố then chốt. Hiện tại, việc đặt tên các mô-đun có tính ngữ nghĩa tốt, giúp các nhà phát triển hiểu rõ mục đích của từng mô-đun.
Điều đáng chú ý là phiên bản 2.x đã thực hiện không phụ thuộc, đặc điểm này đặc biệt quan trọng trong việc nâng cao tính bảo mật, đặc biệt là sau các sự kiện tấn công chuỗi cung ứng gần đây.
Điểm thay đổi quan trọng
kết nối
Phiên bản 2.x áp 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, 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ụ, sử dụng await generateKeyPair() để tạo cặp khóa. Hầu hết các hàm này trả về Promise, tận dụng API Web Crypto của JavaScript.
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ừ các nguồn khác. Phiên bản mới cung cấp dạng pipe thường được sử dụng trong lập trình hàm, cho phép xây dựng giao dịch linh hoạt hơn.
Việc khởi xướng và xác nhận giao dịch hiện ngày càng phụ thuộc vào kết nối WebSocket, điều này đặt ra yêu cầu cao hơn về độ ổn định dịch vụ của nhà cung cấp RPC.
Hỗ trợ React
Phiên bản mới 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 cách thức tương tác với mạng Solana hiệu quả hơn, linh hoạt hơn và có thể tùy chỉnh, hứa hẹn sẽ thúc đẩy việc áp dụng và phát triển hơn nữa của nền tảng.
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.
10 thích
Phần thưởng
10
8
Chia sẻ
Bình luận
0/400
PermabullPete
· 07-21 07:13
Đợt này thật sự đỉnh.
Xem bản gốcTrả lời0
StakeOrRegret
· 07-21 01:55
Wow, front-end lại làm cái mới
Xem bản gốcTrả lời0
ContractFreelancer
· 07-20 17:43
Có phải chỉ là thay đổi vỏ bọc?
Xem bản gốcTrả lời0
LayoffMiner
· 07-18 21:21
Người dùng cũ hiểu, tất cả đều nhờ Solana nuôi sống gia đình ++
Xem bản gốcTrả lời0
GateUser-44a00d6c
· 07-18 21:19
tmd mã lại phải sửa rồi
Xem bản gốcTrả lời0
OnchainGossiper
· 07-18 21:17
Lại đang nói nhảm rồi~ hãy xem lần này có bị trượt không.
Solana Web3.js 2.x: Lập trình hàm dẫn đầu kỷ nguyên tối ưu hiệu suất mới
Solana Web3.js 2.x: Thế giới mới của lập trình hàm
Solana Web3.js đã phát hành phiên bản 2.x 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 thay đổi đáng kể. Bài viết này sẽ tóm tắt những thay đổi chính để giúp các nhà phát triển chuẩn bị cho việc chuyển đổi trong tương lai.
So sánh phiên bản
Việc sử dụng phiên bản 1.x tương đối đơn giản, chỉ cần một gói @solana/web3.js là đủ để bao quát tất cả các chức năng. Nó dựa trên thiết kế lớp, chẳng hạn như lớp Connection, cung cấp nhiều phương pháp phong phú để đáp ứng nhu cầu phát triển. Tuy nhiên, thiết kế này cũng dẫn đến một số vấn đề, chẳng hạn như thư viện mã quá lớn, thiết bị của người dùng cần tải xuống nhiều mã có thể không cần thiết.
Phiên bản 2.x áp dụng thiết kế mô-đun, chia nhỏ kho 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, thay vào đó sử dụng phương pháp hàm đơn, có lợi cho việc tối ưu hóa khi xây dựng mã JavaScript. Theo thống kê chính thứ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 tới 30%, thậm chí nhiều hơn.
Tuy nhiên, sự thay đổi này cũng mang đến cho đội ngũ Solana thách thức trong việc viết tài liệu, làm thế nào để giúp các nhà phát triển nhanh chóng tìm thấy các chức năng cần thiết trở thành yếu tố then chốt. Hiện tại, việc đặt tên các mô-đun có tính ngữ nghĩa tốt, giúp các nhà phát triển hiểu rõ mục đích của từng mô-đun.
Điều đáng chú ý là phiên bản 2.x đã thực hiện không phụ thuộc, đặc điểm này đặc biệt quan trọng trong việc nâng cao tính bảo mật, đặc biệt là sau các sự kiện tấn công chuỗi cung ứng gần đây.
Điểm thay đổi quan trọng
kết nối
Phiên bản 2.x áp 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, 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ụ, sử dụng await generateKeyPair() để tạo cặp khóa. Hầu hết các hàm này trả về Promise, tận dụng API Web Crypto của JavaScript.
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ừ các nguồn khác. Phiên bản mới cung cấp dạng pipe thường được sử dụng trong lập trình hàm, cho phép xây dựng giao dịch linh hoạt hơn.
Việc khởi xướng và xác nhận giao dịch hiện ngày càng phụ thuộc vào kết nối WebSocket, điều này đặt ra yêu cầu cao hơn về độ ổn định dịch vụ của nhà cung cấp RPC.
Hỗ trợ React
Phiên bản mới 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 cách thức tương tác với mạng Solana hiệu quả hơn, linh hoạt hơn và có thể tùy chỉnh, hứa hẹn sẽ thúc đẩy việc áp dụng và phát triển hơn nữa của nền tảng.