Міграція до Kit

Якщо ви переходите з @solana/web3.js (v1), @solana/wallet-adapter-* або раніших пакетів framework-kit (@solana/client, @solana/react-hooks, @solana/web3-compat), ці підходи вже застаріли. Нові застосунки будуються безпосередньо на @solana/kit та плагінах kit. Ця сторінка зіставляє вже знайомі вам концепції з їхніми еквівалентами в Kit.

Зіставлення концепцій

web3.js v1 / wallet-adapterKit
new Connection(url)createSolanaRpc(url), або .use(solanaRpc({ rpcUrl })) на клієнті
PublicKeyAddress — перетворення рядка за допомогою address("...")
KeypairgenerateKeyPairSigner() або плагіни @solana/kit-plugin-signer
SystemProgram.transfer(...)getTransferSolInstruction(...) з @solana-program/system
Математика LAMPORTS_PER_SOLlamports(...) з @solana/kit
Transaction / VersionedTransactionПовідомлення транзакцій, що формуються та пакуються планувальником транзакцій
sendAndConfirmTransaction(...)client.sendTransaction([...]) (планувальник підписує, надсилає та підтверджує)
@solana/wallet-adapter-*@solana/kit-plugin-wallet + виявлення через Wallet Standard

Переходите з web3.js?

Якщо ви підтримуєте велику кодову базу на @solana/web3.js v1 і повне переписування на Kit поки що непрактичне, web3.js v3 — це перехідний міст. Наразі він постачається як @solana/web3.js@rc (гілка 3.0.0-rc) і відтворює класичний API на основі класів — Connection, Keypair, Transaction — поверх внутрішніх компонентів @solana/kit. Оскільки він базується на Kit, взаємодія між ними тісна: PublicKey є застарілим аліасом Address, а Keypair з v3 структурно задовольняє KeyPairSigner Kit, тому його можна передавати безпосередньо до API Kit, плагінів і клієнтів, згенерованих Codama.

v3 досі є реліз-кандидатом — фіксуйте точні версії та очікуйте певних змін API між RC. Це шлях для legacy-сумісності, а не стандарт для нових розробок; нові застосунки слід будувати безпосередньо на Kit. Щодо самої міграції, зверніться до офіційного посібника з міграції web3.js v1 → v3.

Гаманці

Kit не використовує wallet-adapter. @solana/kit-plugin-wallet виявляє гаманці стандарту Wallet Standard та надає до них доступ через client.wallet і React хуки. Сучасні гаманці (Phantom, Solflare, Backpack та інші) оголошують про себе через Wallet Standard, тому окремі пакети адаптерів для кожного гаманця не потрібні.

Ви також можете використовувати готові інструменти, наприклад @solana/connector, який використовує примітиви Kit безпосередньо для підключення до гаманців.

Досі використовуєте wallet-adapter?

Якщо ви підтримуєте застосунок, побудований на @solana/wallet-adapter-*, і ще не готові до міграції, репозиторій wallet-adapter залишається еталонним рішенням для цього стеку. Для всього нового рекомендується використовувати плагін гаманця Kit.

Що далі

  • Kit клієнт — зібрати клієнт із плагінів.
  • React — прив'язки @solana/react та хуки гаманця.
  • Посібник Next.js — повноцінний застосунок від початку до кінця.

Is this page helpful?

Зміст

Редагувати сторінку