Se você está vindo do @solana/web3.js (legado), do @solana/wallet-adapter-*
ou dos pacotes anteriores do framework-kit (@solana/client, @solana/react-hooks,
@solana/web3-compat), recomendamos migrar para os plugins do @solana/kit ou
para o @solana/web3.js v3 (ou superior).
Esta página relaciona os conceitos que você já conhece com seus equivalentes no Kit.
Mapeamento de conceitos
| web3.js (legado) / wallet-adapter | Kit |
|---|---|
new Connection(url) | createSolanaRpc(url), ou .use(solanaRpc({ rpcUrl })) em um cliente |
PublicKey | Address — converta uma string com address("...") |
Keypair | generateKeyPairSigner() ou os plugins @solana/kit-plugin-signer |
SystemProgram.transfer(...) | getTransferSolInstruction(...) de @solana-program/system |
LAMPORTS_PER_SOL math | lamports(...) de @solana/kit |
Transaction / VersionedTransaction | Mensagens de transação construídas e empacotadas pelo planejador de transações |
sendAndConfirmTransaction(...) | client.sendTransaction([...]) (o planejador assina, envia e confirma) |
@solana/wallet-adapter-* | @solana/kit-plugin-wallet + descoberta via Wallet Standard |
O web3.js v3 mantém os nomes baseados em classes acima — Connection, Keypair,
Transaction, PublicKey — como wrappers leves sobre os componentes internos do Kit, de modo que a coluna
do Kit também descreve o que essas classes fazem por baixo dos panos na v3.
Vindo do web3.js?
Se você mantém uma grande base de código do @solana/web3.js (legado) e uma reescrita completa
para o Kit não é viável, o web3.js v3 é a ponte. Instale-o com
@solana/web3.js@3. Ele recria a API clássica baseada em classes — Connection,
Keypair, Transaction, PublicKey — sobre os componentes internos do @solana/kit.
Como é construído sobre o Kit, a interoperabilidade é estreita: PublicKey é o tipo de endereço
principal e seu método .toBase58() retorna a string Address com marca (branded) do Kit, e um Keypair da v3
implementa o KeyPairSigner do Kit, então você pode passá-lo diretamente para as APIs do Kit,
plugins e clientes gerados pelo Codama.
Transações v1 e web3.js (legado)
Se você envia transações v1 com o web3.js, é necessário usar a v3 ou superior.
Para a migração em si, consulte o guia oficial de migração do web3.js v1 → v3.
Carteiras
Kit não utiliza wallet-adapter. @solana/kit-plugin-wallet descobre carteiras
compatíveis com o Wallet Standard e as expõe através de client.wallet e dos
React hooks. Carteiras modernas (Phantom,
Solflare, Backpack, entre outras) se anunciam pelo Wallet Standard, portanto
nenhum pacote adaptador por carteira é necessário.
Você também pode utilizar ferramentas pré-construídas como @solana/connector, que usa primitivos do Kit diretamente para se conectar às carteiras.
Ainda usando wallet-adapter?
Se você mantém um aplicativo desenvolvido com @solana/wallet-adapter-* e não
está pronto para migrar, o repositório wallet-adapter
continua sendo a referência para
essa stack. Para qualquer coisa nova, prefira o plugin de carteira do Kit.
Próximos passos
- Kit client — monte um cliente a partir de plugins.
- React — bindings
@solana/reacte hooks de carteira. - Tutorial Next.js — um aplicativo completo do início ao fim.
Is this page helpful?