Di chuyển sang Kit

Nếu bạn đang chuyển từ @solana/web3.js (v1), @solana/wallet-adapter-*, hoặc các gói framework-kit trước đây (@solana/client, @solana/react-hooks, @solana/web3-compat), những cách tiếp cận đó đã được thay thế. Các ứng dụng mới được xây dựng trực tiếp trên @solana/kit và các plugin của kit. Trang này ánh xạ các khái niệm bạn đã biết sang các tương đương trong Kit.

Ánh xạ khái niệm

web3.js v1 / wallet-adapterKit
new Connection(url)createSolanaRpc(url), hoặc .use(solanaRpc({ rpcUrl })) trên client
PublicKeyAddress — ép kiểu chuỗi bằng address("...")
KeypairgenerateKeyPairSigner() hoặc các plugin @solana/kit-plugin-signer
SystemProgram.transfer(...)getTransferSolInstruction(...) từ @solana-program/system
LAMPORTS_PER_SOL mathlamports(...) từ @solana/kit
Transaction / VersionedTransactionTransaction message được xây dựng và đóng gói bởi transaction planner
sendAndConfirmTransaction(...)client.sendTransaction([...]) (planner ký, gửi và xác nhận)
@solana/wallet-adapter-*@solana/kit-plugin-wallet + khám phá Wallet Standard

Bạn đến từ web3.js?

Nếu bạn duy trì một codebase @solana/web3.js v1 lớn và việc viết lại hoàn toàn sang Kit chưa khả thi, web3.js v3 là cầu nối. Hiện tại nó được phát hành dưới dạng @solana/web3.js@rc (dòng 3.0.0-rc) và xây dựng lại API dựa trên class cổ điển — Connection, Keypair, Transaction — trên nền tảng nội bộ của @solana/kit. Vì nó nằm trên Kit, khả năng tương tác rất chặt chẽ: PublicKey là một alias đã lỗi thời của Address, và một Keypair v3 thỏa mãn về mặt cấu trúc KeyPairSigner của Kit, vì vậy bạn có thể truyền trực tiếp nó vào các API, plugin của Kit và các client được tạo bởi Codama.

v3 vẫn là release candidate — hãy ghim phiên bản chính xác và chuẩn bị cho một số thay đổi API giữa các RC. Đây là con đường tương thích legacy, không phải mặc định cho công việc mới; các ứng dụng mới nên xây dựng trực tiếp trên Kit. Để biết về quá trình di chuyển, hãy xem hướng dẫn chính thức web3.js v1 → v3 migration guide.

Kit không sử dụng wallet-adapter. @solana/kit-plugin-wallet tự động phát hiện các ví theo chuẩn Wallet Standard và hiển thị chúng thông qua client.wallet và các React hook. Các ví hiện đại (Phantom, Solflare, Backpack và nhiều ví khác) tự quảng bá thông qua Wallet Standard, do đó không cần gói adapter riêng cho từng ví.

Bạn cũng có thể sử dụng các công cụ có sẵn như @solana/connector, vốn sử dụng các thành phần nguyên thủy của Kit để kết nối trực tiếp với ví.

Vẫn đang dùng wallet-adapter?

Nếu bạn đang duy trì một ứng dụng được xây dựng trên @solana/wallet-adapter-* và chưa sẵn sàng để chuyển đổi, kho lưu trữ wallet-adapter vẫn là tài liệu tham khảo cho stack đó. Đối với bất kỳ dự án mới nào, hãy ưu tiên sử dụng plugin ví của Kit.

Tiếp theo nên làm gì

  • Kit client — tập hợp một client từ các plugin.
  • React — các binding @solana/react và hook ví.
  • Hướng dẫn Next.js — một ứng dụng hoàn chỉnh từ đầu đến cuối.

Is this page helpful?

Mục lục

Chỉnh sửa trang