Skip to Content
DocumentationTerminology

Terminology

Account

A Solana account, available at an address.

Accounts can represent people (like a wallet), programs (like the token program, or airdrop program), or data (like a token account).

Kite uses the type Address for addresses.

Address

An address is a value where a Solana account can be found.

Addresses can be:

  • public keys - typically used for wallets, token mints, or programs.
  • program derived addresses (PDA) - typically used for associated token accounts, program data accounts.

For users that are signing transactions, address is a property of KeypairSigner.

For other users, programs you can make an address with toAddress("PROGRAM ADDRESS");

Associated Token Account

A token account associated with either a wallet or a PDA. There’s also an associated token program that can be used to create and manage these accounts.

base58

Base58 is a binary-to-text encoding scheme that is used to represent binary data as an alphanumeric string. It is a popular encoding scheme for representing public keys on the Solana blockchain.

Base58 ensures that the string is human readable and can be easily typed by hand - avoiding characters that are easily mistyped such as ‘0’, ‘O’, ‘l’, ‘I’, and ‘o’.

Cluster

The Solana blockchain is a global computer. It is made up of many nodes that are running the Solana software. Each cluster is an instance of the Solana software running on a set of nodes. There are clusters for:

  • Mainnet - production Solana blockchain
  • Devnet - used for program development - as a Solana developer, you will spend most of your time either here on on localnet. You can get SOL for free here.
  • Localnet (technically not a cluster, since it’s only one machine)
  • Testnet - used for testing future versions of the Solana software.

Instruction

An instruction is a single function call to a program.

Instruction Handler

An instruction handler is a function that is called when an instruction is sent to a program.

Note that some tools and documentation refer to instruction handlers as “instructions”.

ix deprecated

A abbreviation for ‘instruction’. You should avoid abbreviations in your code, they make it hard to read and search your codebase.

Keypair

A keypair is a pair of private and public keys. It is used to represent a wallet.

In Kite and Solana Kit, a keypair is a KeypairSigner.

KeypairSigner

A KeypairSigner is a wallet that can sign transactions. KeypairSigner wraps the the CryptoKeypair type built into browsers and node.js, and adds useful Solana properties like the address (which is in base58).

logs

Logs are a way to track the execution of a program. They are a collection of strings that are logged by the program. You can use getLogs() to get the logs from a transaction.

Message

A message is a collection of instructions to be executed on the Solana blockchain. The message is signed by the wallet to prove ownership.

Multisig

A multisig is a wallet that is owned by multiple private keys. Some amount of signatures are required to send a transaction from the wallet. The most common multisig on Solana is Squads.

Lamports

Lamports are the smallest unit of SOL. 1 SOL is equal to 1,000,000,000 lamports.

onchain program

An onchain program is a program that is deployed on the Solana blockchain.

PDA

A PDA is a program derived address. It is an address that is created by a program and and one or more seeds - the same seeds always return the same address.

Associated token accounts are a type of PDA - they are created by the Associated Token Program and the mint address of the token.

private key

A private key is a secret value that is used to prove ownership of a wallet. Private keys on Solana are represented as an array of numbers, and should be stored securely.

Mobile apps store private keys in the device’s secure enclave. Browser wallets typially store private keys encrypted in the browser’s local storage. Server side apps store private keys in .env files or other secure locations outside of git repos.

Older programs sometimes refer to private keys as ‘secret keys’.

Program

A program is a collection of instruction handlers, deployed and running at an address on the Solana blockchain.

public key

A public key is a number that is derived from a private key. It is used to identify a wallet. Public keys on Solana are represented as a base58 encoded string.

Secret Key deprecated

See ‘private key’.

Signing

The process of proving ownership of a wallet by digitally signing a message.

Smart Contract deprecated

See ‘Program’.

SOL

SOL is the native token of Solana. It is used to pay for transactions on the network.

Token

A token is a representation of an asset on the Solana blockchain. Tokens other than SOL are called SPL-Tokens.

Token Account

An account that stores the balance of a particular token.

Token Mint

A token mint is a ‘factory’ that creates tokens of a given type. It can be called by a mint authority to create new tokens.

Transaction

A transaction is a collection of instructions to be executed on the Solana blockchain.

Transaction Signature

The signature of a transaction is the unique identifier for a transaction.

tx deprecated

A abbreviation for ‘transaction’. You should avoid abbreviations in your code, they make it hard to read and search your codebase.

Wallet

Represents a Solana account. It has a public key and one or more private keys.

In Kite, a wallet is a KeypairSigner.

Wallet Adapter

A wallet adapter is that allows a dapp to connect to a wallet. When using @solana/kit, you use @solana/react module to connect to a wallet. See Anchor for more information.

Wallet App

A wallet app is a program that can be used to create and manage wallets, like Phantom or Solflare.

Last updated on