Якщо ви переходите з @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-adapter | Kit |
|---|---|
new Connection(url) | createSolanaRpc(url), або .use(solanaRpc({ rpcUrl })) на клієнті |
PublicKey | Address — перетворення рядка за допомогою address("...") |
Keypair | generateKeyPairSigner() або плагіни @solana/kit-plugin-signer |
SystemProgram.transfer(...) | getTransferSolInstruction(...) з @solana-program/system |
Математика LAMPORTS_PER_SOL | lamports(...) з @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?