OP Stack - Lanza tu propio L2
Published: 2023-07-29 16:28:05

---
title: OP Stack - Lanza tu propio L2
published: true
description: 
tags: 
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/99ghmp2be93ps1vbrb07.png
# Use a ratio of 100:42 for best results.
# published_at: 2023-07-26 20:56 +0000
---

El OP Stack es hoy uno de mis proyectos favoritos. Me agrada mucho la idea detrás de la [Superchain](https://stack.optimism.io/docs/understand/explainer/#glossary) reflejada en Bedrock que es hoy la implementación en producción de L2 más accesible a todos. Me alegra mucho ver a proyectos como Base, Mantle y Celo uniendo esfuerzos y embarcarse en esta propuesta de Optimism. A pesar que los Optimistic Rollups están quedando desfasados por los ZK rollups a nivel técnico, pienso que estamos llegando a un punto en el que los aspectos culturales son más importantes que los técnicos. Hago este video con ánimos de explorar de primera mano la propuesta del OP Stack y ver su estado actual. Espero que lo encuentren de su agrado.

{% youtube yZe8T1AvIfM %}

## Antes de comenzar

Para este tutorial ocuparás [Metamask](https://metamask.io/) u otra wallet compatible con fondos en Sepolia que puedes obtener desde un [faucet](https://sepoliafaucet.com/). En este caso ocuparás alrededor de 2 Sepolia ETH. También necesitarás una computadora con 8GB de RAM, en mi caso estaré usando un servidor en [Digital Ocean](https://www.digitalocean.com/) con las siguientes características:
* Ubuntu 20.04 LTS
* 8GB RAM
* 4 CPUs
* 160GB SSD

## El Getting Started del OP Stack

En este video usaremos [esta guía](https://github.com/Turupawn/stack-docs/blob/smooth-getting-started/src/docs/build/getting-started.md). Que está basada en la [documentación oficial](https://stack.optimism.io/docs/build/getting-started). Toma en cuenta que, a diferencia de la documentación oficial, usaremos Sepolia para reducir los costos de gas. Además, una vez que tengamos el nodo preparado, haremos uso de Remix en lugar de la terminal para lanzar un contrato de ejemplo.


## Usemos Sepolia para ahorrar gas

La guía oficial está pensada para Goerli, pero nosotros usaremos Sepolia para ahorrar gas pues últimamente Goerli está muy saturado. A continuación los cambios que debes tomar en cuenta.

### Cambio #1: Requerimientos de gas

La documentación oficial recomienda las siguientes cantidades de gas para Goerli:

```
Admin — 2 ETH
Proposer — 5 ETH
Batcher — 10 ETH
```

Nosotros podemos cortarlas a una décima parte y distribuirlas de la siguiente manera en Sepolia:

```
Admin — 0.2 ETH
Proposer — 0.5 ETH
Batcher — 1 ETH
```

### Cambio #2: Conecta tu rollup.json a Sepolia

La [configuración de ejemplo](https://github.com/ethereum-optimism/optimism/blob/develop/packages/contracts-bedrock/deploy-config/getting-started.json#L9C4-L9C13) está diseñada para conectarse con Goerli por defecto. Así que cuando te encuentres editando `deploy-config/getting-started.json`, asegurate de cambiar el valor de `l1ChainID` de `5` (que representa a Goerli) a `11155111` para conectarte a Sepolia.

## Conéctate a Metamask y lanza desde Remix

Si deseas usar Remix para lanzar un contrato primero debes conectar tu metamask a tu nuevo L2. Puedes llenar el formulario de conexión a una nueva red de la siguiente manera:

* Nombre de la red: `Mi Layer 2`
* RPC URL: `http://IPDETUSERVER:8545`
* Identificador de Red: `42069`
* Símbolo de moneda: `ETH`
* Explorador de bloques: Déjalo vacío

Una vez hecho esto puedes lanzar un contrato como de costumbre desde Remix. ¡Inténtalo lanzando este contrato de ERC20 como ejemplo!

```solidity
// SPDX-License-Identifier: MIT
pragma solidity 0.8.19;

import "@openzeppelin/contracts/token/ERC20/ERC20.sol";

contract SimpleToken is ERC20 {
    constructor(
        string memory name,
        string memory symbol,
        uint256 initialSupply
    ) ERC20(name, symbol) {
        _mint(msg.sender, initialSupply * 1 ether);
    }
}
```

**¡Gracias por ver este tutorial!**

Sígueme en dev.to y en [Youtube](https://www.youtube.com/channel/UCNRB4tgwp09z4391JRjEsRA) para todo lo relacionado al desarrollo en Blockchain en Español.