Если вы переходите с @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 math | 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. Это путь для обеспечения совместимости с устаревшим кодом, а не рекомендуемый подход для новых проектов; новые приложения следует строить непосредственно на 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?