# Diferencias entre Ethereum y Base

Base está construido sobre la versión [Bedrock](https://stack.optimism.io/docs/releases/bedrock/explainer/) del [OP Stack](https://stack.optimism.io/), que está diseñado desde cero para ser lo más cercano posible a Ethereum. Debido a esto, hay muy pocas diferencias cuando se trata de construir en Base y Ethereum.

Sin embargo, todavía hay algunas discrepancias menores entre el comportamiento de Base y Ethereum de las que debes estar consciente al construir aplicaciones sobre Base.

Estas pequeñas diferencias incluyen:

[Opcodes](https://stack.optimism.io/docs/releases/bedrock/differences/#opcode-differences)\
&#x20;[Bloques](https://stack.optimism.io/docs/releases/bedrock/differences/#blocks)\
&#x20;[Especificaciones de red](https://stack.optimism.io/docs/releases/bedrock/differences/#network-specifications) \
[Costos de transacción](https://stack.optimism.io/docs/releases/bedrock/differences/#transaction-costs)

**INFO**

&#x20;Aparte de lo anterior, Base Mainnet y Testnet aún no soportan el nuevo opcode [PUSH0](https://eips.ethereum.org/EIPS/eip-3855) introducido en Shanghai, que es el objetivo predeterminado para el compilador Solidity si usas la versión `0.8.20` o posterior.

Recomendamos usar `0.8.19` o inferior hasta que esto sea actualizado.
