Cuentas de datos vs. cuentas de programa en Solana
Escrito por Tau
Solana es una plataforma blockchain descentralizada diseñada para ser rápida, segura y escalable mediante el uso de modelos de cuenta únicos para organizar el flujo de procesos. Por lo general, la estructura completa de una dApp en Solana comprende tres tipos de cuentas: cuentas nativas, cuentas de datos y cuentas de programa.
Este artículo se centra en las cuentas de datos y de programa de Solana, en conjunto, dentro de la blockchain de Solana, y en cómo se diferencian de los contratos inteligentes de Ethereum, el equivalente de cuenta en Ethereum.
¿Qué es una cuenta de datos de Solana?
Una cuenta de datos de Solana es un tipo de cuenta en la blockchain de Solana que almacena datos como tokens, documentos o cualquier otro tipo de información. Las cuentas de datos pueden almacenar estado pero no son ejecutables.
Las cuentas de datos son similares a las cuentas de otras plataformas blockchain, en que tienen un saldo y pueden recibir y enviar transacciones. Estas cuentas, junto con sus metadatos, identifican a su propietario y el tipo de interacción posible durante el runtime. Las cuentas wallet, mint y token son buenos ejemplos de cuentas de datos, ya que contienen valor y pertenecen a una cuenta de usuario y de programa.
¿Qué es una cuenta de programa de Solana?
Una cuenta de programa es un contrato inteligente en la blockchain de Solana que se usa para ejecutar código, generalmente activado por transacciones entrantes o por el paso del tiempo. Las cuentas de programa pueden interactuar con cuentas de datos, lo que les permite leer y escribir datos en la blockchain. Ellas mismas no pueden almacenar estados variables, pero los invocan desde cuentas de datos.
Una diferencia clave entre las cuentas de datos y las cuentas de programa de Solana es que las cuentas de programa solo pueden ser creadas por otras cuentas de programa, mientras que las cuentas de datos pueden ser creadas por cualquier desarrollador o usuario. Sin embargo, las cuentas de programa pueden usarse para crear más cuentas de programa, lo que permite crear sistemas de contratos inteligentes complejos y de múltiples capas en el Solana EVM.
¿Cómo funcionan juntas las cuentas de datos y las cuentas de programa?
Las cuentas de datos pueden usarse para almacenar los datos que utilizan las cuentas de programa, y las cuentas de programa pueden interactuar con las cuentas de datos para leer y escribir esos datos. Las cuentas de datos y de programa coexisten y colaboran en la blockchain de Solana para dar lugar a una amplia gama de funciones y servicios de dApp.
Por ejemplo, una cuenta de programa podría usarse para crear un contrato de token simple que permita a los usuarios transferir tokens entre cuentas de datos. En este caso, la cuenta de programa se encargaría de ejecutar la lógica del contrato, mientras que las cuentas de datos se usarían para almacenar los saldos de los tokens.
Algo así:
En este ejemplo, creamos una cuenta de programa llamada "transfer_tokens.wasm" que contiene la lógica para transferir tokens de una cuenta a otra. Luego podemos conectar la cuenta de datos a la cuenta de programa usando el método invoke, pasando la cuenta de datos y los argumentos de la transferencia como un array.
Cuando se ejecuta la cuenta de programa, usará los datos almacenados en la cuenta de datos para realizar la transferencia de tokens. En este caso, la cuenta de programa transferiría 100 tokens de la cuenta de token a la cuenta destinataria.
Puedes probar el flujo del programa demostrado en el ejemplo anterior con cualquier otro programa de tu elección o con algunos de los programas ya elaborados en la Solana Program Library (SPL).
Cuentas de Solana vs. contratos inteligentes de Ethereum
Las cuentas de datos y de programa de Solana son similares a los contratos inteligentes de Ethereum, pero existen algunas diferencias clave, entre ellas el almacenamiento, las llamadas, la ejecución, el gas, y más.
¿En qué se diferencian las cuentas de datos y de programa de Solana de los contratos inteligentes de Ethereum?
Las cuentas de datos y de programa de Solana se diferencian de los contratos inteligentes de Ethereum en cómo se almacenan los datos, cómo se llama a los contratos, el modelo de ejecución, el soporte de lenguajes y el gas.
1. Almacenamiento de datos
En la blockchain de Solana, las cuentas de datos se usan para almacenar datos, mientras que en la blockchain de Ethereum, los datos se almacenan dentro de los contratos inteligentes. Esto significa que en Solana existe una separación entre los datos y la lógica que interactúa con ellos, mientras que en Ethereum los datos y la lógica se combinan en un solo contrato inteligente.
2. Llamadas a contratos
En la blockchain de Solana, las cuentas de programa se activan mediante transacciones entrantes, llamadas de otros programas (es decir, invocaciones entre programas), o por el paso del tiempo. En la blockchain de Ethereum, los contratos inteligentes se activan mediante transacciones entrantes y también pueden ser llamados por otros contratos inteligentes.
3. Modelo de ejecución
Las cuentas de datos y de programa de Solana son ejecutadas por los validadores de la red de Solana, mientras que los contratos inteligentes de Ethereum son ejecutados por la Ethereum Virtual Machine (EVM) en nodos individuales.
4. Gas de la EVM y su correlación con los datos
Las cuentas de datos de Solana pueden almacenar una cantidad ilimitada de datos, mientras que Ethereum tiene un espacio de almacenamiento para contratos inteligentes limitado, determinado por la cantidad de gas consumido durante la ejecución.
5. Soporte de lenguajes
Las cuentas de programa de Solana pueden escribirse en cualquier lenguaje que pueda compilarse a WebAssembly (WASM), mientras que los contratos inteligentes de Ethereum se escriben típicamente en Solidity o Vyper (una implementación de Solidity basada en Python).
¿En qué se parecen las cuentas de datos y de programa de Solana a los contratos inteligentes de Ethereum?
Las cuentas de datos y de programa de Solana se parecen a los contratos inteligentes de Ethereum en cuanto a la funcionalidad de contrato inteligente, la descentralización, la inmutabilidad, la transparencia y la programabilidad.
1. Funcionalidad de contrato inteligente
Tanto las cuentas de Solana como los contratos inteligentes de Ethereum pueden usarse para facilitar transacciones y automatizar procesos, como la transferencia de activos o la gestión de la logística de una cadena de suministro.
2. Descentralización
Tanto las cuentas de Solana como los contratos inteligentes de Ethereum se despliegan y ejecutan en redes blockchain públicas y descentralizadas.
3. Inmutabilidad
Una vez que una cuenta de datos o de programa de Solana, o un contrato inteligente de Ethereum, se despliega en la blockchain, no puede modificarse ni eliminarse.
4. Transparencia
El código y los datos almacenados en las cuentas de datos y de programa de Solana y en los contratos inteligentes de Ethereum son de acceso público, lo que permite la transparencia y la auditabilidad.
5. Programabilidad
Las cuentas de datos y de programa de Solana y los contratos inteligentes de Ethereum son programables, lo que significa que pueden contener lógica y ejecutar funciones según ciertas condiciones. En Solana, las cuentas de programa pueden crear otras cuentas de programa, mientras que en Ethereum, los contratos inteligentes pueden llamar a otros contratos inteligentes.
¿Cómo maneja el Solana EVM de Neon Labs los programas, las cuentas y los contratos inteligentes?
El Solana EVM de Neon Labs es una herramienta que permite a los desarrolladores usar los lenguajes de programación Solidity/Vyper para crear y desplegar contratos inteligentes de Ethereum en la blockchain de Solana, lo que facilita portar apps existentes de Ethereum a Solana. Antes del lanzamiento de Neon EVM en la devnet de Solana y en mainnet, las apps de Ethereum eran incompatibles con el ecosistema de Solana.
El Neon EVM ofrece a los contratos inteligentes una plataforma para ejecutarse tal como lo harían en la blockchain de Ethereum, a la vez que aprovecha las características de las que normalmente disfrutan las cuentas en la blockchain de Solana, como las bajas tarifas de gas y el alto throughput.
El Solana EVM funciona emulando la Ethereum Virtual Machine en la blockchain de Solana, lo que permite ejecutar contratos inteligentes de Ethereum en Solana de forma similar a como se ejecutarían en la blockchain de Ethereum. Esto significa que los desarrolladores pueden usar su conocimiento existente del lenguaje de programación Solidity y del ecosistema de Ethereum para publicar apps en Solana.
Crea cuentas de Solana con Alchemy
Una aplicación descentralizada construida sobre Solana generalmente comprende cuentas nativas, cuentas de datos y cuentas de programa. Las cuentas nativas representan programas en Solana, las cuentas de datos almacenan información, y las cuentas de programa ejecutan código en Solana. Si quieres empezar a construir, regístrate para obtener una cuenta gratuita de desarrollador de Solana en Alchemy.
Resúmenes relacionados
Solana27 de julio de 2026
Nodos de Solana: validadores, nodos RPC y self-hosting
Qué son los nodos de Solana, en qué se diferencian los validadores, los nodos RPC y los sistemas de datos secundarios, y cuándo conviene hacer self-hosting en lugar de usar un proveedor.
Solana22 de julio de 2026
Datos de archivo de Solana: cómo consultar el historial completo de bloques y transacciones
Datos de archivo de Solana explicados: por qué los nodos podan el historial, qué métodos de RPC necesitan acceso a archivo, y cómo consultar el historial completo de bloques y transacciones a escala.
Solana28 de mayo de 2026
Solana Agent Kit versus GOAT versus ElizaOS: ¿qué framework deberías usar?
Comparación entre Solana Agent Kit, GOAT y ElizaOS: profundidad nativa en Solana, alcance multichain o runtime de agentes completo. Incluye ejemplos de código y un marco de decisión.

Construye magia blockchain
Alchemy combina los productos y herramientas de desarrollo Web3 más potentes con recursos, comunidad y un soporte legendario.