Conceptos principales

Build a strong understanding of the core concepts that make Solana different from other blockchains. Understanding the "Solana programming model" through these core concepts is very important to maximize your success as a Solana blockchain developer.

Modelo de cuentas en Solana #

En Solana, todos los datos se almacenan en lo que se conoce como "cuentas". The way data is organized on the Solana blockchain resembles a key-value store, where each entry in the database is called an "account".

Learn more about Accounts here.

Transacciones e instrucciones #

En Solana, enviamos transacciones para interactuar con la red. Las transacciones incluyen una o más instrucciones, cada una representando una operación que debe ser procesada. La lógica de ejecución de las instrucciones es almacenada en programas desplegados en la red Solana, donde cada programa guarda su propio conjunto de instrucciones.

Learn more about Transactions and Instructions here.

Comisiones en Solana #

La cadena de bloques de Solana tiene diferentes tipos de comisiones y costes que se incurren para utilizar la red. Estos pueden segmentarse en unos pocos tipos específicos:

  • Transaction Fees - A fee to have validators process transactions/instructions
  • Prioritization Fees - An optional fee to boost transactions processing order
  • Rent - A withheld balance to keep data stored on-chain

Learn more about Fees on Solana here.

Programas en Solana #

En el ecosistema de Solana, los "contratos inteligentes" se llaman programas. Each program is an on-chain account that stores executable logic, organized into specific functions referred to as instructions and called via instruction handler functions within the respective deployed program.

Learn more about Programs on Solana here.

Dirección Derivada de un Programa #

Las direcciones derivadas de programas (PDAs) ofrecen a los desarrolladores de Solana dos casos de uso principales:

  • Direcciones de cuenta deterministas: Las PDAs proporcionan un mecanismo para derivar de forma determinista una dirección utilizando una combinación de "semillas" opcionales (entradas predefinidas) y el identificador de un programa.
  • Permitir a los programas firmar: El tiempo de ejecución de Solana permite a los programas "firmar" para PDAs que se derivan de su identificador.

Puedes pensar en las PDA como una forma de crear estructuras tipo diccionario en la cadena de bloques a partir de un conjunto predefinido de entradas (por ejemplo, cadenas, números y otras direcciones de cuenta).

Learn more about Program Derived Address here.

Invocación entre programas (CPI) #

Una invocación entre programas (cross program invocation o CPI) se refiere a cuando un programa invoca las instrucciones de otro programa. Este mecanismo permite la composición de programas en Solana.

Puede pensar en instrucciones como endpoints API que un programa expone a la red y una CPI como si una API internamente invoca otra API.

Learn more about Cross Program Invocation here.

Tokens en Solana #

Los tokens son activos digitales que representan propiedad sobre diversas categorías de activos. La tokenización permite la digitalización de los derechos de propiedad, sirviendo como un componente fundamental para gestionar activos fungibles y no fungibles.

  • Los tokens fungibles representan activos intercambiables y divisibles del mismo tipo y valor (ej. USDC).
  • Los tokens no fungibles (NFT) representan la propiedad de activos indivisibles (por ejemplo: obras de arte).

Learn more about Tokens on Solana here.

Clusters and Endpoints #

La cadena de bloques de Solana tiene diferentes grupos de validadores, conocidos como Clústeres. Cada uno de ellos tiene un propósito distinto dentro del ecosistema general y contiene nodos en forma de APIs dedicadas a satisfacer solicitudes JSON-RPC para sus respectivos Clústeres.

Los nodos individuales dentro de un Clúster son propiedad y operados por terceros, con un endpoint público disponible para cada uno.

There are three primary clusters on the Solana network, each with a different public endpoint:

  • Mainnet - https://api.mainnet-beta.solana.com
  • Devnet - https://api.devnet.solana.com
  • Testnet - https://api.testnet.solana.com

Learn more about Clusters and Endpoints here.