Migracja do Kit

Jeśli korzystasz z @solana/web3.js (legacy), @solana/wallet-adapter-* lub wcześniejszych pakietów framework-kit (@solana/client, @solana/react-hooks, @solana/web3-compat), zachęcamy do migracji na wtyczki @solana/kit lub @solana/web3.js v3 (albo nowszy).

Ta strona przedstawia, jakim odpowiednikom w Kit odpowiadają koncepcje, które już znasz.

Mapowanie koncepcji

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

web3.js v3 zachowuje powyższe nazwy oparte na klasach — Connection, Keypair, Transaction, PublicKey — jako cienkie nakładki na wewnętrzne mechanizmy Kit, więc kolumna Kit opisuje również to, co te klasy robią „pod maską” w wersji v3.

Migrujesz z web3.js?

Jeśli utrzymujesz duży kod oparty na @solana/web3.js (legacy), a pełne przepisanie na Kit jest niepraktyczne, web3.js v3 stanowi pomost. Zainstaluj go za pomocą @solana/web3.js@3. Odtwarza on klasyczne API oparte na klasach — Connection, Keypair, Transaction, PublicKey — na bazie wewnętrznych mechanizmów @solana/kit. Dzięki temu, że opiera się na Kit, interoperacyjność jest ścisła: PublicKey jest podstawowym typem adresu, a jego metoda .toBase58() zwraca opatrzony znacznikiem typu ciąg Address z Kit, natomiast Keypair w wersji v3 implementuje KeyPairSigner z Kit, więc możesz przekazywać go bezpośrednio do API Kit, wtyczek i klientów generowanych przez Codama.

Transakcje v1 i web3.js (legacy)

Jeśli wysyłasz transakcje v1 za pomocą web3.js, musisz używać wersji v3 lub nowszej.

Informacje o samej migracji znajdziesz w oficjalnym przewodniku migracji web3.js z v1 do 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ę