Якщо ви переходите з @solana/web3.js (legacy), @solana/wallet-adapter-*
або раніших пакетів framework-kit (@solana/client, @solana/react-hooks,
@solana/web3-compat), радимо перейти на плагіни @solana/kit або на
@solana/web3.js v3 (чи новішу версію).
Ця сторінка зіставляє вже знайомі вам концепції з їхніми еквівалентами в Kit.
Зіставлення концепцій
| web3.js (legacy) / 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 v3 зберігає наведені вище назви на основі класів — Connection, Keypair,
Transaction, PublicKey — як тонкі обгортки над внутрішніми компонентами Kit, тож
стовпець Kit також описує, що ці класи роблять «під капотом» у v3.
Переходите з web3.js?
Якщо ви підтримуєте великий кодовий базис на @solana/web3.js (legacy), а повне переписування
на Kit недоцільне, web3.js v3 стане мостом. Встановіть його за допомогою
@solana/web3.js@3. Він відтворює класичний API на основі класів — Connection,
Keypair, Transaction, PublicKey — поверх внутрішніх компонентів @solana/kit.
Оскільки він працює на основі Kit, інтеграція тісна: PublicKey є основним типом
адреси, а його метод .toBase58() повертає брендований рядок Address із Kit, а Keypair
у v3 реалізує KeyPairSigner із Kit, тож його можна напряму передавати в API Kit,
плагіни та клієнти, згенеровані за допомогою Codama.
Транзакції v1 та web3.js (legacy)
Якщо ви надсилаєте транзакції v1 за допомогою web3.js, необхідно використовувати v3+.
Щодо самої міграції дивіться офіційний посібник із міграції 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?