Modelo de Programación

Return Data (set_return_data)

A mechanism for programs to return data to the caller after CPI, introduced in v1.10. Programs call `set_return_data(data)` (max 1,024 bytes), and the caller retrieves it with `get_return_data()`. This enables CPI callers to receive structured results without parsing logs or modifying shared accounts.

IDreturn-data

Lectura rápida

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

A mechanism for programs to return data to the caller after CPI, introduced in v1.10. Programs call `set_return_data(data)` (max 1,024 bytes), and the caller retrieves it with `get_return_data()`. This enables CPI callers to receive structured results without parsing logs or modifying shared accounts.

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.

Return Data (set_return_data) (return-data)
Categoría: Modelo de Programación
Definición: A mechanism for programs to return data to the caller after CPI, introduced in v1.10. Programs call `set_return_data(data)` (max 1,024 bytes), and the caller retrieves it with `get_return_data()`. This enables CPI callers to receive structured results without parsing logs or modifying shared accounts.
Relacionados: Invocación Entre Programas (CPI), Programa
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

Invocación Entre Programas (CPI)

A mechanism for one program to call another program's instructions during execution. CPIs enable composability—e.g., a DeFi program can call the Token Program to transfer tokens. CPI depth is limited to 4 levels. The caller passes accounts and instruction data, and the callee runs with the same transaction context.

Rama

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).

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

Invocación Entre Programas (CPI)

A mechanism for one program to call another program's instructions during execution. CPIs enable composability—e.g., a DeFi program can call the Token Program to transfer tokens. CPI depth is limited to 4 levels. The caller passes accounts and instruction data, and the callee runs with the same transaction context.

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).

Modelo de Programación

Seeds

Byte arrays used as inputs to derive a Program Derived Address. Seeds can be any combination of static strings, user pubkeys, mint addresses, or other identifiers (each seed max 32 bytes, up to 16 seeds). For example, seeds=[b'vault', user.key()] derives a unique vault PDA for each user.

Modelo de Programación

Renta

A fee mechanism that charges accounts for storing data on-chain. Accounts must maintain a minimum lamport balance proportional to their data size (~6.96 SOL per MB) to be rent-exempt. Since 2022, all new accounts must be rent-exempt at creation. Accounts falling below the threshold are removed during rent collection.

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ónaccount-data

Account Data

The byte array stored in an account that holds program-specific state. Data is typically serialized using Borsh and must be explicitly allocated at account creation. The maximum data size is 10MB. Programs are responsible for defining and managing their own data layout, including discriminators for type identification.

Modelo de Programaciónprogram-data

Program Data Account

The account that stores the actual SBF ELF bytecode for an upgradeable program. It is separate from the program's main account (which just points to the program data). This separation allows the bytecode to be swapped during upgrades while the program ID stays the same. The program data account also stores the upgrade authority pubkey.

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óncpi

Invocación Entre Programas (CPI)

A mechanism for one program to call another program's instructions during execution. CPIs enable composability—e.g., a DeFi program can call the Token Program to transfer tokens. CPI depth is limited to 4 levels. The caller passes accounts and instruction data, and the callee runs with the same transaction context.

Modelo de Programaciónprogram

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).

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

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).

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.