Migracja do Kit

Jeśli korzystałeś wcześniej z @solana/web3.js (v1), @solana/wallet-adapter-* lub wcześniejszych pakietów framework-kit (@solana/client, @solana/react-hooks, @solana/web3-compat), te podejścia są już nieaktualne. Nowe aplikacje buduje się bezpośrednio na @solana/kit i wtyczkach kit. Ta strona mapuje znane Ci koncepcje na ich odpowiedniki w Kit.

Mapowanie koncepcji

web3.js v1 / wallet-adapterKit
new Connection(url)createSolanaRpc(url) lub .use(solanaRpc({ rpcUrl })) na kliencie
PublicKeyAddress — przekształć ciąg za pomocą address("...")
KeypairgenerateKeyPairSigner() lub wtyczki @solana/kit-plugin-signer
SystemProgram.transfer(...)getTransferSolInstruction(...) z @solana-program/system
LAMPORTS_PER_SOL mathlamports(...) z @solana/kit
Transaction / VersionedTransactionWiadomości transakcji budowane i pakowane przez planistę transakcji
sendAndConfirmTransaction(...)client.sendTransaction([...]) (planista podpisuje, wysyła i potwierdza)
@solana/wallet-adapter-*@solana/kit-plugin-wallet + wykrywanie Wallet Standard

Migrujesz z web3.js?

Jeśli utrzymujesz duży kod źródłowy @solana/web3.js v1 i pełne przepisanie do Kit nie jest jeszcze praktyczne, web3.js v3 jest mostem przejściowym. Jest obecnie dostępny jako @solana/web3.js@rc (linia 3.0.0-rc) i odbudowuje klasyczne API oparte na klasach — Connection, Keypair, Transaction — na bazie wewnętrznych mechanizmów @solana/kit. Ponieważ opiera się na Kit, interoperacyjność jest ścisła: PublicKey jest przestarzałym aliasem Address, a Keypair w wersji v3 strukturalnie spełnia wymagania KeyPairSigner w Kit, dzięki czemu można go bezpośrednio przekazywać do API Kit, wtyczek i klientów generowanych przez Codama.

v3 jest nadal w fazie kandydata do wydania — przypnij dokładne wersje i spodziewaj się pewnych zmian API między kolejnymi RC. Jest to ścieżka interoperacyjności z poprzednimi wersjami, a nie domyślne rozwiązanie dla nowych projektów; nowe aplikacje powinny być budowane bezpośrednio na Kit. Informacje dotyczące samej migracji znajdziesz w oficjalnym przewodniku migracji web3.js v1 → v3.

Portfele

Kit nie używa wallet-adapter. @solana/kit-plugin-wallet wykrywa portfele standardu Wallet Standard i udostępnia je przez client.wallet oraz hooki React. Nowoczesne portfele (Phantom, Solflare, Backpack i inne) ogłaszają się za pośrednictwem Wallet Standard, więc nie są wymagane żadne osobne pakiety adapterów.

Możesz również skorzystać z gotowych narzędzi, takich jak @solana/connector, które bezpośrednio używa prymitywów Kit do łączenia się z portfelami.

Nadal używasz wallet-adapter?

Jeśli utrzymujesz aplikację opartą na @solana/wallet-adapter-* i nie jesteś gotowy do migracji, repozytorium wallet-adapter pozostaje punktem odniesienia dla tego stosu. Do wszystkiego nowego preferuj wtyczkę portfela Kit.

Co dalej

  • Klient Kit — złóż klienta z wtyczek.
  • React — powiązania @solana/react i hooki portfela.
  • Samouczek Next.js — kompletna aplikacja od początku do końca.

Is this page helpful?

Spis treści

Edytuj stronę