Modelo de Programación

Programa

Executable code deployed on-chain, equivalent to a smart contract on other blockchains. Programs are stateless—they store no data themselves but read/write data in separate accounts they own. Programs are compiled to SBF bytecode and loaded via the BPF Loader. Every program has a unique Program ID (its account's public key).

IDprogramAliasSmart Contract

Lectura rápida

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

Executable code deployed on-chain, equivalent to a smart contract on other blockchains. Programs are stateless—they store no data themselves but read/write data in separate accounts they own. Programs are compiled to SBF bytecode and loaded via the BPF Loader. Every program has a unique Program ID (its account's public key).

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 de las piezas centrales que tu programa lee, escribe o invoca durante la ejecución.

Contexto técnico

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

Accounts, instrucciones, PDAs, transacciones y flujo de ejecución.

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.

Programa (program)
Categoría: Modelo de Programación
Definición: Executable code deployed on-chain, equivalent to a smart contract on other blockchains. Programs are stateless—they store no data themselves but read/write data in separate accounts they own. Programs are compiled to SBF bytecode and loaded via the BPF Loader. Every program has a unique Program ID (its account's public key).
Aliases: Smart Contract
Relacionados: Cuenta, Instrucción, BPF (Berkeley Packet Filter)
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

Cuenta

The fundamental data storage unit on Solana. Every piece of state is stored in an account identified by a 32-byte public key. Accounts hold a lamport balance, an owner program, a data byte array (up to 10MB), and an executable flag. Only the owning program can modify an account's data, but anyone can credit lamports to it.

Rama

Instrucción

A single operation within a transaction that invokes a program. An instruction specifies: (1) the program ID to call, (2) an array of account metas (pubkey, is_signer, is_writable), and (3) an opaque data byte array. Programs decode the instruction data to determine which operation to perform.

Rama

BPF (Berkeley Packet Filter)

Berkeley Packet Filter—the original bytecode format used for Solana programs, inherited from Linux's eBPF. Programs written in Rust or C are compiled to BPF bytecode and executed in a sandboxed VM. BPF has been superseded by SBF on Solana but the tooling names (BPF Loader, cargo build-bpf) persist for historical reasons.

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.

Modelo de Programación

Cuenta

The fundamental data storage unit on Solana. Every piece of state is stored in an account identified by a 32-byte public key. Accounts hold a lamport balance, an owner program, a data byte array (up to 10MB), and an executable flag. Only the owning program can modify an account's data, but anyone can credit lamports to it.

Modelo de Programación

Instrucción

A single operation within a transaction that invokes a program. An instruction specifies: (1) the program ID to call, (2) an array of account metas (pubkey, is_signer, is_writable), and (3) an opaque data byte array. Programs decode the instruction data to determine which operation to perform.

Protocolo Base

BPF (Berkeley Packet Filter)

Berkeley Packet Filter—the original bytecode format used for Solana programs, inherited from Linux's eBPF. Programs written in Rust or C are compiled to BPF bytecode and executed in a sandboxed VM. BPF has been superseded by SBF on Solana but the tooling names (BPF Loader, cargo build-bpf) persist for historical reasons.

Modelo de Programación

Programa del Sistema

The built-in native program (address: 11111111111111111111111111111111) responsible for creating new accounts, transferring SOL between accounts, allocating account data space, and assigning account ownership to programs. It is the only program that can create new accounts and is invoked in nearly every transaction.

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.

Modelo de Programaciónsystem-program

Programa del Sistema

The built-in native program (address: 11111111111111111111111111111111) responsible for creating new accounts, transferring SOL between accounts, allocating account data space, and assigning account ownership to programs. It is the only program that can create new accounts and is invoked in nearly every transaction.

Modelo de Programacióncompute-budget-program

Compute Budget Program

A native Solana program (address: ComputeBudget111111111111111111111111111111) that allows transactions to configure their compute resource limits. It provides two key instructions: SetComputeUnitLimit (set the max CU a transaction can consume, up to 1.4M) and SetComputeUnitPrice (set the micro-lamport price per CU for priority fees). These instructions must appear before any program instructions in the transaction.

Modelo de Programaciónfind-program-address

find_program_address

A function that derives a PDA by iterating bump seeds from 255 down to 0 until finding a pubkey not on the Ed25519 curve. It returns (pubkey, bump). In Anchor, the #[account(seeds=[...], bump)] constraint calls this automatically. The corresponding create_program_address skips iteration and takes an explicit bump.

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.

Modelo de Programaciónaccount

Cuenta

The fundamental data storage unit on Solana. Every piece of state is stored in an account identified by a 32-byte public key. Accounts hold a lamport balance, an owner program, a data byte array (up to 10MB), and an executable flag. Only the owning program can modify an account's data, but anyone can credit lamports to it.

Modelo de Programacióninstruction

Instrucción

A single operation within a transaction that invokes a program. An instruction specifies: (1) the program ID to call, (2) an array of account metas (pubkey, is_signer, is_writable), and (3) an opaque data byte array. Programs decode the instruction data to determine which operation to perform.

Protocolo Basebpf

BPF (Berkeley Packet Filter)

Berkeley Packet Filter—the original bytecode format used for Solana programs, inherited from Linux's eBPF. Programs written in Rust or C are compiled to BPF bytecode and executed in a sandboxed VM. BPF has been superseded by SBF on Solana but the tooling names (BPF Loader, cargo build-bpf) persist for historical reasons.

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.

Modelo de Programación

Cuenta

The fundamental data storage unit on Solana. Every piece of state is stored in an account identified by a 32-byte public key. Accounts hold a lamport balance, an owner program, a data byte array (up to 10MB), and an executable flag. Only the owning program can modify an account's data, but anyone can credit lamports to it.

Modelo de Programación

Instrucción

A single operation within a transaction that invokes a program. An instruction specifies: (1) the program ID to call, (2) an array of account metas (pubkey, is_signer, is_writable), and (3) an opaque data byte array. Programs decode the instruction data to determine which operation to perform.

Modelo de Programación

Transacción

An atomic unit of execution containing one or more instructions, a recent blockhash, and one or more signatures. All instructions in a transaction execute sequentially and atomically—if any instruction fails, the entire transaction reverts. Transactions have a 1,232-byte size limit (matching IPv6 MTU) and a default 200,000 CU budget.

Modelo de Programación

Versioned Transaction

A transaction format introduced with v0 that supports address lookup tables. Legacy transactions include all pubkeys inline (limited to ~35 accounts); v0 transactions reference ALTs to include up to 256 accounts while staying within the 1,232-byte limit. The version byte (0) precedes the message.