Solana For Vue Developers

Practical Solana concepts for Vue and Nuxt developers.

This page explains the Solana terms you will see when using the Vue Solana packages. It is practical rather than exhaustive.

Official references:

Connections And RPC

Frontend apps read Solana data through an RPC endpoint. @vue-solana/vue/web3 and @vue-solana/nuxt/web3 expose the supported Connection class that sends requests to that endpoint.

Vue Solana packages create and provide that connection for Vue and Nuxt code so composables can share the same cluster, endpoint, commitment, and wallet state.

createSolanaPlugin({
  cluster: "devnet",
  commitment: "confirmed",
});

Public Keys And Addresses

A public key is a Solana account address. You can safely show public keys in a frontend app.

import { PublicKey } from "@vue-solana/vue/web3";

const publicKey = new PublicKey("PASTE_A_SOLANA_ADDRESS");

Never expose private keys, seed phrases, or secret key arrays in frontend code.

Lamports And SOL

SOL is the native token on Solana. Lamports are the smallest unit of SOL.

1 SOL = 1,000,000,000 lamports

RPC balance methods return lamports. Convert lamports to SOL only for display.

const lamports = await connection.getBalance(publicKey);
const sol = lamports / 1_000_000_000;

Wallets

A wallet stores keys and signs transactions. Browser extension wallets include Phantom, Solflare, and Backpack. Android native mobile wallets can connect through Solana Mobile Wallet Adapter on supported Android Chrome runtimes. Phantom, Solflare, and Backpack can also connect from iOS browsers through wallet-specific universal links.

Vue Solana discovers Solana Wallet Standard browser extension wallets, Android Mobile Wallet Adapter wallets, and supported iOS browser wallet links through the unified useWallets() flow. RPC reads and balance reads work without a wallet. Connecting, signing, and sending transactions require a discovered wallet or custom object that implements the SolanaWallet interface.

See Wallets for current support and the desktop native wallet post-v1 status.

Transactions And Signing

A transaction is a set of instructions that changes Solana state. Examples include transferring SOL, creating an account, or interacting with a program.

Signing proves that the wallet owner approves the transaction. Frontend apps should ask the user's wallet to sign. They should not hold private keys.

Commitment Levels

Commitment controls how finalized returned data should be.

  • processed: fastest, least final.
  • confirmed: good default for most app UI reads.
  • finalized: slowest, most final.

Example:

createSolanaPlugin({
  cluster: "devnet",
  commitment: "confirmed",
});

Official reference: Commitment Status

Safety Notes

  • Use devnet while building and testing.
  • Do not use a wallet with real funds for development.
  • Do not hardcode private keys in frontend apps.
  • Use mainnet-beta only when you are ready to interact with real SOL and production programs.