Si vienes de @solana/web3.js (legacy), @solana/wallet-adapter-*,
o de los paquetes anteriores de framework-kit (@solana/client, @solana/react-hooks,
@solana/web3-compat), te recomendamos migrar a los plugins de @solana/kit o
a @solana/web3.js v3 (o superior).
Esta página relaciona los conceptos que ya conoces con sus equivalentes en Kit.
Correspondencia de conceptos
| web3.js (legacy) / wallet-adapter | Kit |
|---|---|
new Connection(url) | createSolanaRpc(url), o .use(solanaRpc({ rpcUrl })) en un cliente |
PublicKey | Address — convierte un string con address("...") |
Keypair | generateKeyPairSigner() o los plugins de @solana/kit-plugin-signer |
SystemProgram.transfer(...) | getTransferSolInstruction(...) de @solana-program/system |
LAMPORTS_PER_SOL math | lamports(...) de @solana/kit |
Transaction / VersionedTransaction | Mensajes de transacción construidos y empaquetados por el planificador de transacciones |
sendAndConfirmTransaction(...) | client.sendTransaction([...]) (el planificador firma, envía y confirma) |
@solana/wallet-adapter-* | @solana/kit-plugin-wallet + descubrimiento mediante Wallet Standard |
web3.js v3 mantiene los nombres basados en clases indicados arriba (Connection, Keypair,
Transaction, PublicKey) como wrappers ligeros sobre los componentes internos de Kit, por lo que la columna
de Kit también describe lo que hacen esas clases internamente en la v3.
¿Vienes de web3.js?
Si mantienes una base de código grande de @solana/web3.js (legacy) y una reescritura completa
a Kit no es viable, web3.js v3 es el puente. Instálalo con
@solana/web3.js@3. Reconstruye la API clásica basada en clases (Connection,
Keypair, Transaction, PublicKey) sobre los componentes internos de @solana/kit.
Al estar construido sobre Kit, la interoperabilidad es estrecha: PublicKey es el tipo de dirección
principal y su método .toBase58() devuelve el string Address con marca (branded) de Kit, y un
Keypair de la v3 implementa el KeyPairSigner de Kit, por lo que puedes pasarlo directamente a las
API de Kit, a los plugins y a los clientes generados con Codama.
Transacciones v1 y web3.js (legacy)
Si envías transacciones v1 con web3.js, debes usar la v3 o superior.
Para la migración en sí, consulta la guía oficial de migración de web3.js v1 a v3.
Wallets
Kit no utiliza wallet-adapter. @solana/kit-plugin-wallet descubre las wallets
de Wallet Standard y las expone a través de client.wallet y los
hooks de React. Las wallets modernas (Phantom,
Solflare, Backpack, entre otras) se anuncian a través de Wallet Standard, por lo
que no se requiere ningún paquete adaptador por wallet.
También puedes utilizar herramientas prediseñadas como @solana/connector, que usa primitivas de Kit directamente para conectarse a las wallets.
¿Todavía usas wallet-adapter?
Si mantienes una aplicación desarrollada con @solana/wallet-adapter-* y aún
no estás listo para migrar, el repositorio de wallet-adapter
sigue siendo la referencia para
ese stack. Para cualquier proyecto nuevo, se recomienda el plugin de wallet de
Kit.
Qué hacer a continuación
- Cliente de Kit — ensambla un cliente a partir de plugins.
- React — enlaces
@solana/reacty hooks de wallet. - Tutorial de Next.js — una aplicación completa de principio a fin.
Is this page helpful?