Herramientas de Dev

solana-program-test

A Rust testing framework in the solana-sdk that provides a BanksClient for in-process program testing. Programs are loaded directly into a test Bank without a network. Supports adding accounts, advancing clock, and processing transactions. Slower than LiteSVM/Bankrun but provides the most accurate runtime behavior for Rust-only test suites.

IDsolana-program-test

Lectura rápida

Empieza por la explicación más corta y útil antes de profundizar.

A Rust testing framework in the solana-sdk that provides a BanksClient for in-process program testing. Programs are loaded directly into a test Bank without a network. Supports adding accounts, advancing clock, and processing transactions. Slower than LiteSVM/Bankrun but provides the most accurate runtime behavior for Rust-only test suites.

Modelo mental

Usa primero la analogía corta para razonar mejor sobre el término cuando aparezca en código, docs o prompts.

Piensa en esto como una herramienta o abstracción que reduce fricción en el workflow de desarrollo en Solana.

Contexto técnico

Ubica el término dentro de la capa de Solana en la que vive para razonar mejor sobre él.

Anchor, validators locales, explorers, SDKs y flujos de testing.

Por qué le importa a un builder

Convierte el término de vocabulario en algo operacional para producto e ingeniería.

Este término desbloquea conceptos adyacentes rápido, así que funciona mejor cuando lo tratas como un punto de conexión y no como una definición aislada.

Handoff para IA

Handoff para IA

Usa este bloque compacto cuando quieras dar contexto sólido a un agente o asistente sin volcar toda la página.

solana-program-test (solana-program-test)
Categoría: Herramientas de Dev
Definición: A Rust testing framework in the solana-sdk that provides a BanksClient for in-process program testing. Programs are loaded directly into a test Bank without a network. Supports adding accounts, advancing clock, and processing transactions. Slower than LiteSVM/Bankrun but provides the most accurate runtime behavior for Rust-only test suites.
Relacionados: Pruebas (Programas Solana), Bankrun (solana-bankrun)
Glossary Copilot

Haz preguntas de Solana con contexto aterrizado sin salir del glosario.

Usa contexto del glosario, relaciones entre términos, modelos mentales y builder paths para recibir respuestas estructuradas en vez de output genérico.

Abrir workspace completa del Copilot
Explicar este código

Opcional: pega código Anchor, Solana o Rust para que el Copilot mapee primitivas de vuelta al glosario.

Haz una pregunta aterrizada en el glosario

Haz una pregunta aterrizada en el glosario

El Copilot responderá usando el término actual, conceptos relacionados, modelos mentales y el grafo alrededor del glosario.

Grafo conceptual

Ve el término como parte de una red, no como una definición aislada.

Estas ramas muestran qué conceptos toca este término directamente y qué existe una capa más allá de ellos.

Rama

Pruebas (Programas Solana)

The process of validating Solana programs through unit tests, integration tests, and fuzz testing. Common approaches: Rust tests with solana-program-test or LiteSVM (fast, in-process), TypeScript tests with Bankrun or solana-test-validator (end-to-end), and fuzz testing with Trident. Best practice is testing both happy paths and attack vectors (missing signers, wrong owners).

Rama

Bankrun (solana-bankrun)

A fast Solana testing framework (solana-bankrun for TypeScript, bankrun for Rust) that runs tests against an in-process Bank without starting a full validator. Bankrun processes transactions ~100x faster than solana-test-validator, supports time warping (advance slots/time), and can load accounts from fixtures or mainnet snapshots.

Siguientes conceptos para explorar

Mantén la cadena de aprendizaje en movimiento en lugar de parar en una sola definición.

Estos son los siguientes conceptos que vale la pena abrir si quieres que este término tenga más sentido dentro de un workflow real de Solana.

Herramientas de Dev

Pruebas (Programas Solana)

The process of validating Solana programs through unit tests, integration tests, and fuzz testing. Common approaches: Rust tests with solana-program-test or LiteSVM (fast, in-process), TypeScript tests with Bankrun or solana-test-validator (end-to-end), and fuzz testing with Trident. Best practice is testing both happy paths and attack vectors (missing signers, wrong owners).

Herramientas de Dev

Bankrun (solana-bankrun)

A fast Solana testing framework (solana-bankrun for TypeScript, bankrun for Rust) that runs tests against an in-process Bank without starting a full validator. Bankrun processes transactions ~100x faster than solana-test-validator, supports time warping (advance slots/time), and can load accounts from fixtures or mainnet snapshots.

Herramientas de Dev

solana-test-validator

A lightweight local Solana validator for development. Runs a single-node cluster on localhost:8899 (RPC) and localhost:8900 (WebSocket). Supports `--clone` to copy mainnet accounts, `--bpf-program` to load programs, and `--reset` to clear state. Processes transactions instantly without PoH delays. Useful for rapid iteration but doesn't simulate network conditions.

Herramientas de Dev

solana-program Crate

The Rust crate (solana-program) providing the core types and syscalls for on-chain program development. It includes: entrypoint!, msg!, AccountInfo, Pubkey, ProgramResult, invoke/invoke_signed, and system instruction builders. This crate compiles to SBF and must be used instead of solana-sdk for on-chain code.

Comúnmente confundido con

Términos cercanos en vocabulario, acrónimo o vecindad conceptual.

Estas entradas son fáciles de mezclar cuando lees rápido, haces prompting a un LLM o estás entrando en una nueva capa de Solana.

Herramientas de Devprogram-test-framework

Program Test Framework (solana-program-test)

Solana's built-in testing framework that spins up a lightweight BanksClient runtime to execute programs in an isolated environment without a full validator. Supports adding programs, setting account state, advancing slots/time, and processing transactions. The foundation for most Solana program integration tests.

Herramientas de Devsolana-rust-sdk

Solana Rust SDK (solana-sdk)

The Rust crate (solana-sdk) providing types and utilities for building Solana clients and programs. For on-chain programs, use `solana-program` (no-std compatible subset). For off-chain clients, use `solana-sdk` (full features including keypair generation, transaction signing). The SDK includes types like Pubkey, Instruction, Transaction, and Account.

Aliassolana-sdkAliassolana-program
Herramientas de Devsolana-cli

Solana CLI

The official command-line tool for interacting with Solana clusters. Key commands: `solana balance`, `solana transfer`, `solana program deploy`, `solana config set --url`, `solana airdrop` (devnet). Configuration in `~/.config/solana/cli/config.yml` sets the default cluster URL and keypair path.

Aliassolana-cliAliassolana
Términos relacionados

Sigue los conceptos que realmente le dan contexto a este término.

Las entradas del glosario se vuelven útiles cuando están conectadas. Estos enlaces son el camino más corto hacia ideas adyacentes.

Herramientas de Devtesting

Pruebas (Programas Solana)

The process of validating Solana programs through unit tests, integration tests, and fuzz testing. Common approaches: Rust tests with solana-program-test or LiteSVM (fast, in-process), TypeScript tests with Bankrun or solana-test-validator (end-to-end), and fuzz testing with Trident. Best practice is testing both happy paths and attack vectors (missing signers, wrong owners).

Herramientas de Devbankrun

Bankrun (solana-bankrun)

A fast Solana testing framework (solana-bankrun for TypeScript, bankrun for Rust) that runs tests against an in-process Bank without starting a full validator. Bankrun processes transactions ~100x faster than solana-test-validator, supports time warping (advance slots/time), and can load accounts from fixtures or mainnet snapshots.

Más en la categoría

Quédate en la misma capa y sigue construyendo contexto.

Estas entradas viven junto al término actual y ayudan a que la página se sienta parte de un grafo de conocimiento más amplio en lugar de un callejón sin salida.

Herramientas de Dev

Framework Anchor

The most popular framework for building Solana programs in Rust. Anchor provides macros (#[program], #[account], #[derive(Accounts)]) that auto-generate boilerplate for account validation, serialization, discriminators, and error handling. It includes a CLI (anchor init/build/test/deploy), IDL generation, and TypeScript client generation. Reduces program code by ~80% compared to native development.

Herramientas de Dev

#[account] Macro (Anchor)

The Anchor macro applied to structs to define on-chain account data layouts. `#[account]` auto-derives Borsh serialization, adds an 8-byte discriminator prefix (SHA-256 of 'account:<Name>'), and implements space calculation. Optional attributes: `#[account(zero_copy)]` for zero-copy deserialization of large accounts.

Herramientas de Dev

#[derive(Accounts)] (Anchor)

The Anchor macro that defines the accounts struct for an instruction. Each field specifies an account with validation constraints. Account types include: `Account<'info, T>` (deserialized), `Signer<'info>` (must sign), `Program<'info, T>` (program reference), `SystemAccount<'info>`, and `UncheckedAccount<'info>` (no validation, use carefully).

Herramientas de Dev

Anchor Constraints

Declarative validation rules on Anchor account fields. Key constraints: `#[account(mut)]` (writable), `#[account(init, payer=x, space=n)]` (create), `#[account(seeds=[...], bump)]` (PDA validation), `#[account(has_one=field)]` (field equality), `#[account(constraint = expr)]` (custom boolean), `#[account(close=target)]` (close and reclaim rent).