Di chuyển sang Kit

Nếu bạn đang chuyển từ @solana/web3.js (legacy), @solana/wallet-adapter-*, hoặc các gói framework-kit trước đây (@solana/client, @solana/react-hooks, @solana/web3-compat), chúng tôi khuyến khích bạn chuyển sang các plugin @solana/kit hoặc @solana/web3.js v3 (hoặc cao hơn).

Trang này ánh xạ các khái niệm bạn đã biết sang các thành phần tương đương trong Kit.

Ánh xạ khái niệm

web3.js (legacy) / 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

web3.js v3 giữ nguyên các tên theo kiểu class ở trên — Connection, Keypair, Transaction, PublicKey — dưới dạng các lớp bao mỏng (thin wrapper) bên trên phần lõi của Kit, vì vậy cột Kit cũng mô tả những gì các class này thực hiện ở bên dưới trong v3.

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

Nếu bạn đang duy trì một codebase @solana/web3.js (legacy) lớn và việc viết lại hoàn toàn sang Kit là không khả thi, thì web3.js v3 chính là cầu nối. Hãy cài đặt bằng @solana/web3.js@3. Gói này xây dựng lại API kiểu class cổ điển — Connection, Keypair, Transaction, PublicKey — dựa trên phần lõi của @solana/kit. Vì được xây dựng trên Kit, khả năng tương tác rất chặt chẽ: PublicKey là kiểu địa chỉ chính và phương thức .toBase58() của nó trả về chuỗi Address có gắn nhãn (branded) của Kit, còn Keypair của v3 triển khai KeyPairSigner của Kit, nên bạn có thể truyền trực tiếp nó vào các API của Kit, plugin và các client do Codama tạo ra.

Giao dịch v1 và web3.js (legacy)

Nếu bạn gửi giao dịch v1 bằng web3.js, bạn phải sử dụng v3 trở lên.

Về quá trình di chuyển, hãy xem hướng dẫn di chuyển web3.js v1 → v3 chính thức.

Ví

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