> For the complete documentation index, see [llms.txt](https://docs.decentraland.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.decentraland.org/player/player-es/integracion-con-blockchain/ethereum-essentials.md).

# Acerca de la Blockchain

Cómo usa Decentraland la blockchain de Ethereum.

Todas las blockchains son, en esencia, bases de datos descentralizadas que se distribuyen entre las máquinas de una red. Las transacciones se agrupan en "bloques" y se procesan secuencialmente para formar una *cadena* de eventos.

Ethereum es una de las blockchains más populares. Lo que la distingue de otras, como Bitcoin, es que usa la blockchain como almacenamiento para algo más que un registro de transacciones de moneda. Ethereum puede almacenar información más compleja para distinguir distintos tipos de tokens o incluso gestionar tokens únicos con características específicas. La blockchain de Ethereum también ejecuta smart contracts; estos permiten realizar transacciones más complejas que también pueden depender de eventos acordados previamente.

Decentraland usa la blockchain de Ethereum para registrar la propiedad de los activos digitales y otros objetos comerciables que pueden ser leídos y a los que se puede reaccionar desde una escena 3D.

La blockchain no se usa para almacenar el estado de la escena, la posición del jugador ni nada que necesite cambiar en tiempo real mientras un jugador interactúa con una escena; todo eso se almacena localmente en la máquina de cada jugador o en un servidor privado propiedad del dueño de la escena. Los desarrolladores de cada escena deben elegir qué información vale la pena almacenar en la blockchain y qué almacenar en un servidor privado.

## Wallets

Los tokens de Ethereum se guardan en wallets. Una wallet de Ethereum puede contener varios tokens, incluidos Ether, MANA, LAND y otros tokens que pueden ser usados por juegos o experiencias en Decentraland.

Hay muchos proveedores de wallets donde puedes guardar tokens de Decentraland. Para usar el Marketplace o para entrar en Decentraland, debes usar una wallet integrada en tu navegador web, así que te recomendamos que uses:

* [Metamask](https://metamask.io/)
* [Trezor](https://trezor.io/)/[Ledger](https://www.ledger.com/) hardware wallets

Toda wallet tiene una clave pública y una clave privada. El hash de tu clave pública es la dirección única de tu wallet, usada para enrutar transacciones e identificar a un jugador. Tu clave privada la usa tu wallet para firmar cada transacción que envías a la red y certificar que realmente fue enviada por ti. Tu clave privada también se usa para restaurar tu wallet en caso de que olvides tu contraseña, así que guárdala en un lugar seguro y no la compartas con nadie.

En Decentraland, las identidades de los jugadores se construyen en torno a wallets. Dado que las claves públicas de las wallets son únicas, tu escena puede usarlas para identificar a un usuario de Decentraland de forma persistente. Las wallets también pueden contener distintos tokens que pueden darle a un jugador un avatar único, un wearable, permisos para entrar en escenas que decidan restringir el acceso, un arma especial para usar en un juego, etc.

## Transacciones

Las transacciones realizan cambios en la información que está almacenada en la blockchain. Las transacciones típicas implican que los tokens cambien de dueño; por ejemplo, un usuario A entregando su token LAND al usuario B a cambio de una cantidad de tokens MANA. Sin embargo, en la red de Ethereum, una transacción también puede significar cambiar la información almacenada sobre un token sin cambiar a su dueño. Por ejemplo, cambiar la descripción de una parcela o fusionar varias parcelas en un Estate.

Todas las transacciones que ocurren en la cadena principal de Ethereum tienen un costo que se paga en tokens Ether. A esta tarifa se la denomina tarifa de 'gas', y se paga al usuario de la red que 'mina' la transacción.

Cuando solicitas que tenga lugar una transacción, estableces el precio del gas que estás dispuesto a pagar para que la transacción sea minada. Las transacciones que ofrecen precios más altos se minan más rápido, ya que los mineros les dan prioridad. Los precios de mercado de estas transacciones oscilan con regularidad; tienden a ser más caros cuando hay un mayor uso de la red. Asegúrate de que lo que ofreces no esté por debajo del precio de mercado; de lo contrario, tu transacción podría permanecer indefinidamente en un grupo sin procesar.

Todas las transacciones deben ser firmadas por una dirección de Ethereum, usando la clave privada de la dirección. Esto certifica que la transacción fue realizada por esa dirección.

#### Validación de transacciones

Las transacciones en blockchain no son inmediatas, requieren tiempo para ser "minadas" por uno de los nodos de la red y luego propagarse al resto de las máquinas. Cuantas más transacciones solicite la red, más tiempo tardan en validarse.

En términos breves, así es como se valida una transacción:

1. Ocurre una nueva transacción, pasa a un grupo de transacciones no confirmadas.
2. Una de las máquinas de la red resuelve con éxito un algoritmo para minar un nuevo "bloque" que contiene un puñado de transacciones de este grupo, incluida esta. Adjunta este nuevo bloque al final de la cadena.
3. El bloque se comparte con otras máquinas de la red. Cada máquina verifica que cada transacción de un bloque sea válida y comprueba el hash del bloque para asegurarse de que sea legítimo; luego lo añade a su propia versión de la cadena.
4. El nuevo bloque se propaga por toda la red. Existe un entendimiento compartido universalmente de que esta transacción ha tenido lugar.

#### Cadenas laterales

Decentraland se asocia con [Matic](https://matic.network/) para crear una *cadena lateral* (un tipo especial de blockchain) que podrá gestionar transacciones de forma más rápida y barata que la red principal de Ethereum. Esta cadena lateral será ideal para transacciones dentro del juego, ya que los cambios pueden ocurrir más cerca del tiempo real y a un costo muy bajo. Para transacciones que impliquen objetos valiosos, seguiremos recomendando la cadena principal de Ethereum, ya que será más segura.

Cada desarrollador que trabaje en una escena podrá elegir si usa la cadena principal, la cadena lateral o una combinación de ambas para distintas transacciones.

La cadena lateral se mantendrá interoperable con la cadena principal de Ethereum. Podrás cargar tokens desde la cadena principal a la cadena lateral y viceversa. Las transacciones que tengan lugar en la cadena lateral se reflejarán finalmente en la cadena principal cuando los tokens "salgan" de vuelta a la cadena principal.

#### Activar transacciones desde una escena

El código de tu escena puede activar transacciones, tanto en la cadena principal de Ethereum como en la cadena lateral de Decentraland. Podrías tener una tienda en tu escena que venda tokens (como NFTs), o un juego que recompense a los jugadores con objetos del juego cuando alcancen ciertos objetivos.

El usuario siempre debe aprobar estas transacciones explícitamente en su cliente de Ethereum. Por ejemplo, al usar Metamask, Metamask solicita al usuario que acepte cada transacción antes de que se procese.

## Tipos de tokens

Se pueden manejar distintos tipos de tokens en la red de Ethereum. Han surgido algunos estándares que agrupan tokens que comparten las mismas características.

En Decentraland, puedes usar tokens para representar objetos relacionados con tu juego o experiencia, como un arma o un trofeo. Como los tokens se guardan en la wallet de un jugador, acompañan al jugador de escena en escena, así que cada escena puede elegir si quiere reaccionar, y cómo, a cada tipo de token existente.

Leer [Qué son los NFTs](https://decentraland.org/blog/technology/what-are-nfts/) en nuestro blog para ver con más detalle el surgimiento y la evolución de los tokens no fungibles.

#### Tokens fungibles

Si un objeto es fungible, entonces puede sustituirse o intercambiarse por cualquier objeto similar. Las monedas fiduciarias, como el dólar estadounidense, son fungibles. Un billete de un dólar puede intercambiarse por cualquier otro billete de un dólar.

Los tokens de criptomonedas como Bitcoin, Ethereum y MANA son todos fungibles porque una unidad de token puede intercambiarse por cualquier otra unidad de token.

También podrías crear tokens fungibles personalizados para usarlos en escenas de Decentraland y emplearlos para representar objetos que sean todos iguales y no tengan propiedades distintivas o personalizables entre sí. Podrías, por ejemplo, crear un juego que gire en torno a recopilar una gran cantidad de objetos idénticos, y representarlos mediante un token fungible. También podrías usar un token fungible para representar un billete dorado que dé acceso a los jugadores que lo posean a una región o servicio específicos.

*ERC20* es el estándar más aceptado para los tokens fungibles en la red de Ethereum. MANA se basa en este estándar.

#### Tokens no fungibles

Los tokens no fungibles (o NFTs) tienen características que hacen que cada unidad sea objetivamente diferente de las demás. Las parcelas de LAND en Decentraland son NFTs, ya que la ubicación de cada parcela es única. La adyacencia a otras parcelas, carreteras o distritos hace que estas ubicaciones sean relevantes para los propietarios del token.

En Decentraland, puedes usar NFTs para representar objetos del juego como avatares, wearables, armas y otros objetos de inventario. Podrías, por ejemplo, usar un único tipo de NFT para representar todas las armas de tu juego y diferenciarlas estableciendo distintas propiedades en estos NFTs.

Los NFTs pueden usarse para proporcionar bienes digitales escasos de forma demostrable. Gracias a la escasez legítima que hace posible la blockchain, los compradores pueden estar seguros de que el arte que compran es, de hecho, raro. Esto da al arte digital un valor real que nunca habíamos visto antes.

Los objetos del juego tendrán un historial almacenado en la blockchain. Este historial podría hacer que un objeto sea más valioso, por ejemplo si se usó para lograr grandes hazañas o si lo usó alguien admirado.

Según el contrato que describa el token, cada NFT podría ser inmutable, o podrías permitir que los jugadores personalicen y cambien ciertas características de ellos si así lo desean.

*ERC721* es el estándar más aceptado para los tokens no fungibles en la red de Ethereum. Los tokens LAND siguen el estándar ERC721.

## Smart Contracts

Un contrato consiste en tanto en código (sus métodos) como en datos (su estado) que residen en una dirección específica en la blockchain de Ethereum.

Los métodos de un contrato siempre se llaman mediante una transacción que tiene el *to* campo establecido en la dirección del contrato. El código que ejecuta el método del contrato puede incluir llamadas a otros contratos; estas activan más transacciones que tienen el *from* campo establecido en la dirección del contrato.

Un smart contract no puede activar ninguna acción por sí mismo ni en función de un evento temporal. Todas las acciones realizadas por un smart contract siempre surgen de una transacción que llama a una de las funciones del contrato.

Puedes usar smart contracts para condicionar transacciones en función de condiciones personalizadas. Por ejemplo, los jugadores podrían apostar sobre el resultado de un juego, y los pagos correspondientes se producirían en cuanto el resultado del juego se informara al contrato.

El código completo de un smart contract es público para quien quiera leerlo. Esto permite a los desarrolladores crear reglas verificables públicamente.

Todos los Tokens están definidos por un smart contract que especifica sus características y lo que se puede hacer con ellos. Decentraland ha escrito y mantiene una serie de smart contracts. Los tokens LAND y MANA están definidos por los *contratos LANDregistry* y *MANAtoken* respectivamente.

Puedes encontrar la dirección de cada contrato creado por Decentraland en [los smart contracts de Decentraland](https://contracts.decentraland.org/addresses.json).

Puedes leer el código completo de cada uno de esos contratos, ya que es información pública en la blockchain. Puedes encontrar el contrato por nombre en [Etherscan](https://etherscan.io/contractsVerified) y leer allí su contenido.

## Las dApps

*Las dApps* (aplicaciones descentralizadas) son aplicaciones que se construyen sobre smart contracts y la blockchain.

Una dApp puede ser tan simple como algo que valida que tu wallet tiene un token determinado y te permite usar un servicio. O puede ser una aplicación completa con su propia UI, como el Marketplace de Decentraland.

## red de pruebas Sepolia

Antes de desplegar un smart contract, crear un nuevo tipo de token o una escena de Decentraland que dependa de transacciones en la red de Ethereum, necesitas asegurarte de que no tenga bugs ni lagunas que usuarios maliciosos puedan explotar.

La red de pruebas Sepolia es una versión alternativa de Ethereum hecha específicamente para ejecutar pruebas.

Los tokens en la red Sepolia no tienen valor real, así que puedes permitirte cometer errores sin asumir ningún riesgo real. Puedes reponer gratis cualquier token perdido usando un faucet:

* Faucet de Ether de Sepolia (<https://www.alchemy.com/faucets/ethereum-sepolia/>)

Si estás desarrollando una escena que activa transacciones, probar estas transacciones en la red Sepolia es gratis, ya que los tokens que envías no tienen valor. En la mainnet, de lo contrario, tendrías que pagar al menos una tarifa de gas real en Ether por cada transacción de prueba que realices.

Una vez que tengas la confianza de que tu código funciona como se espera y no puede ser explotado, puedes desplegarlo en la mainnet de Ethereum.

## Reorganizaciones de la blockchain

Ocasionalmente, varias máquinas crearán nuevos bloques alternativos aproximadamente al mismo tiempo. Esto es un problema, porque bifurca la cadena en dos versiones divergentes que potencialmente podrían contradecirse entre sí. Cuando ocurre una bifurcación, Ethereum lo resuelve dando siempre prioridad a la cadena más larga y descartando cualquier cadena más corta. Aunque es posible que dos cadenas rivales existan al mismo tiempo, pronto una de las dos añadirá otro bloque y superará a la otra. Debido al tiempo que toma resolver los algoritmos de minería, cada vez resulta más difícil para las cadenas rivales seguir creciendo en perfecta sincronía entre sí. Tarde o temprano una prevalecerá sobre la otra.

Cuando una cadena supera a la otra y la disputa se resuelve, las máquinas que habían adoptado la cadena más corta necesitan hacer ajustes. Esto es lo que se conoce como una "reorg". Tienen que revertir todas las transacciones incluidas en los bloques de la rama en la que están hasta llegar al punto en el que ocurrió la bifurcación. Luego tienen que añadir los nuevos bloques de la rama más larga que se considera legítima.

Las transacciones revertidas pueden volver al grupo de transacciones pendientes hasta que un minero las recoja de nuevo (o se descarten). Cualquier tarifa de gas pagada por estas transacciones también se revierte.

Los bloques que acababan de añadirse al final de una cadena tienen una probabilidad considerable de ser revertidos debido a los mecanismos explicados arriba. A medida que se añaden bloques posteriores al final de la cadena, cada vez es menos probable que los bloques que están más atrás en la blockchain puedan ser revertidos, porque eso requeriría una reorg mayor. Debido a esto, cada nuevo bloque que se añade al final de la cadena después de una transacción se llama una confirmación para esa transacción.

Al crear aplicaciones (o escenas) que usan información ajena a la blockchain, debes tener en cuenta la aparición de reorgs. Puede que quieras considerar las transacciones como verificadas solo cuando haya ocurrido un cierto número de confirmaciones y la transacción ya no esté en el extremo final de la cadena.

Usar varias confirmaciones hará que la información sea muy estable, pero las transacciones tardarán mucho en reflejarse.

Usar pocas confirmaciones hará que los cambios se reflejen más rápido, pero a veces habrá fallos que parezcan deshacer transacciones cuando ocurran reorgs. Si estas transacciones tienen consecuencias fuera de la cadena en tu escena, entonces quizá también necesites revertir esas consecuencias de algún modo.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.decentraland.org/player/player-es/integracion-con-blockchain/ethereum-essentials.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
