Миграция на 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_SOL mathlamports(...) из @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?

Содержание

Редактировать страницу