Cập nhật lớn Web3.js 2.x của Solana: Thiết kế mô-đun nâng cao hiệu suất và tính bảo mật

robot
Đang tạo bản tóm tắt

Solana Web3.js 2.x phiên bản: Kỷ nguyên lập trình hàm mới

Thư viện Solana Web3.js đã ra mắt 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 lại những thay đổ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 công việc di chuyển trong tương lai.

Web3 người mới series: Bây giờ nâng cấp @solana/web3.js 2.x mở ra lập trình hàm

So sánh phiên bản

Phiên bản 1.x mặc dù sử dụng đơn giản nhưng có một số vấn đề. Nó tập trung tất cả các tính năng vào một gói, dẫn đến việc ngay cả khi các nhà phát triển chỉ sử dụng một lượng nhỏ tính năng, họ vẫn cần tải xuống toàn bộ thư viện. Điều này không chỉ làm tăng thời gian tải mà còn có thể ảnh hưởng đến trải nghiệm người dùng.

Phiên bản 2.x áp dụng thiết kế mô-đun, tách biệt thư viện mã nguồn hiện có thành nhiều mô-đun nhỏ, chẳng hạn như @solana/accounts, @solana/codecs, v.v. Đồng thời, phiên bản mới từ bỏ việc thực hiện dựa trên lớp, thay vào đó áp dụng phương thức hàm đơn. Thiết kế này giúp tối ưu hóa việc xây dựng mã JavaScript, mã không sử dụng sẽ bị xóa và không tải về thiết bị của người dùng. Theo dữ liệu chính thức, việc sử dụng DApp phiên bản mới thường có thể đạt được tối ưu hóa kích thước mã lên đến 30%, trong một số trường hợp thậm chí còn cao hơn.

Tuy nhiên, thiết kế mô-đun phiên bản mới cũng đặt ra yêu cầu cao hơn đối với tài liệu của đội ngũ Solana. Cách giúp các nhà phát triển nhanh chóng xác định chức năng cần thiết trở thành một vấn đề then chốt. Hiện tại, việc đặt tên cho các mô-đun có tính ngữ nghĩa tốt, điều này phần nào giảm bớt độ khó trong việc chuyển đổi của các nhà phát triển.

Cần lưu ý rằng phiên bản 2.x đã triển khai không phụ thuộc. Xét đến cuộc tấn công chuỗi cung ứng gần đây xảy ra trên phiên bản 1.95.5 và 1.95.6, việc giảm thiểu các phụ thuộc bên ngoài chắc chắn đã nâng cao tính bảo mật của thư viện.

Đ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. Phiên bản mới tạo ra bộ gửi yêu cầu bằng cách cấu hình địa chỉ yêu cầu RPC, sau đó sử dụng bộ gửi đó để thực hiện các yêu cầu khác nhau.

cặp khóa

Xử lý liên quan đến khóa công khai và khóa riêng tư cũng đã có sự thay đổi lớn. Các lớp Keypair và PublicKey thường được sử dụng trong phiên bản 1.x đã được thay thế bằng một loạt các hàm. Ví dụ, bây giờ bạn có thể 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 nó tận dụng API Web Crypto của JavaScript, sử dụng triển khai Ed25519 gốc.

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 đã bị loại bỏ và 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. Ví dụ, có thể thực hiện chức năng chuyển tiền của phiên bản 1.x thông qua hàm pipe. Cần lưu ý rằng cách mới này phụ thuộc nhiều hơn vào WSS, đ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

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 cho thấy quyết tâm cải tiến liên tục của đội ngũ Solana. 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 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 thúc đẩy sự phát triển và ứng dụng tiếp theo của nền tảng này.

Web3 người mới series: Bây giờ nâng cấp @solana/web3.js 2.x để bắt đầu lập trình hàm

SOL2.91%
Xem bản gốc
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.
  • Phần thưởng
  • 5
  • Chia sẻ
Bình luận
0/400
TommyTeachervip
· 14giờ trước
2.0 ra rồi, tan ca là phải chạy ngay!
Xem bản gốcTrả lời0
AlphaBrainvip
· 20giờ trước
Thật tuyệt vời, lại sắp phải tái cấu trúc rồi.
Xem bản gốcTrả lời0
BridgeJumpervip
· 08-03 23:45
solana thật tuyệt vời lần này
Xem bản gốcTrả lời0
IntrovertMetaversevip
· 08-03 23:45
Nâng cấp nâng cấp đang bị kẹt không cuộn được
Xem bản gốcTrả lời0
OnchainDetectivevip
· 08-03 23:15
Cuối cùng cũng sửa được cái bẫy hỏng này.
Xem bản gốcTrả lời0
  • Ghim
Giao dịch tiền điện tử mọi lúc mọi nơi
qrCode
Quét để tải xuống ứng dụng Gate
Cộng đồng
Tiếng Việt
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)