> ## Documentation Index
> Fetch the complete documentation index at: https://daehan-base.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Base V1 업그레이드

> Base 노드를 V1용 base-reth-node와 base-consensus로 마이그레이션하는 방법을 안내합니다.

<Warning>
  Base V1은 Base에 Osaka 기능과 TEE/ZK 증명 시스템을 도입하는 업그레이드입니다. Base 네이티브 클라이언트로 마이그레이션이 필요합니다.
</Warning>

`base-reth-node` (EL)와 `base-consensus` (CL)만 V1을 지원합니다. **`op-node`, `op-geth`, `op-reth`, `nethermind`, 또는 `kona`를 실행하는 노드는 네트워크 업그레이드를 지원하지 않으므로 활성화 전에 마이그레이션해야 합니다.**

포함된 내용에 대한 전체 세부 사항은 [V1 사양](https://specs.base.org/upgrades/v1/overview)을 참조하세요.

## 활성화 일정

| 네트워크    | 날짜                     | 타임스탬프        |
| ------- | ---------------------- | ------------ |
| Sepolia | 2026년 4월 20일 18:00 UTC | `1776708000` |
| 메인넷     | 2026년 5월 초             | TBD          |

## 필요한 소프트웨어

| 레이어     | 소프트웨어                                                                | 버전      |
| ------- | -------------------------------------------------------------------- | ------- |
| 실행 (EL) | [`base-reth-node`](https://github.com/base/base/releases/tag/v0.7.0) | v0.7.0+ |
| 합의 (CL) | [`base-consensus`](https://github.com/base/base/releases/tag/v0.7.0) | v0.7.0+ |

<Note>
  두 클라이언트 모두 [base/node](https://github.com/base/node/releases) 저장소에서 사용할 수 있으며, 대부분의 설정이 사전 구성되어 있고 환경 변수를 통해 재정의할 수 있습니다. 설정 가능한 옵션의 전체 목록은 `.env.mainnet` 및 `.env.sepolia` 파일을 참조하세요.

  [base/base](https://github.com/base/base/releases) 저장소에서 직접 빌드하는 경우 새 `BASE_NODE_*` 환경 변수를 사용하도록 `base-consensus` 설정을 업데이트해야 합니다. `base-reth-node`의 경우 기존의 모든 Reth 도구 및 설정을 계속 사용할 수 있습니다.
</Note>

## 실행 레이어 마이그레이션

### OP Reth에서 마이그레이션

[base/node](https://github.com/base/node)를 통해 OP Reth를 이미 실행 중인 경우 최신 버전으로 업데이트하면 노드가 자동으로 `base-reth-node`를 사용합니다. 기존 `./reth-data` 디렉토리가 완전히 호환됩니다 — 재동기화나 스냅샷 복원이 필요하지 않습니다.

1. 노드 중지:

   ```bash theme={null}
   docker compose down
   ```

2. [base/node](https://github.com/base/node)의 최신 버전으로 업데이트:

   ```bash theme={null}
   git pull origin main
   ```

3. 노드 시작:

   ```bash theme={null}
   docker compose up
   ```

4. 클라이언트 버전 확인: `web3_clientVersion`에 버전 문자열에 `base`가 포함되어야 합니다 (예: `reth/v1.11.3-.../base/v0.7.0`)

### 다른 클라이언트에서 마이그레이션

`op-geth`와 `nethermind`는 더 이상 지원되지 않습니다. `base-reth-node`로 새로 시작해야 합니다.

1. 노드 중지:

   ```bash theme={null}
   docker compose down
   ```

2. [base/node](https://github.com/base/node)의 최신 버전으로 업데이트:

   ```bash theme={null}
   git pull origin main
   ```

3. 기존 데이터 디렉토리(예: `./geth-data` 또는 `./nethermind-data`)를 삭제합니다.

4. `.env.mainnet` 또는 `.env.sepolia` 파일을 편집하여 원하는 설정에 맞게 조정합니다.

5. 전체 동기화를 피하기 위해 [Reth 스냅샷](/base-chain/node-operators/snapshots)에서 부트스트랩합니다.

6. 노드 시작:

   ```bash theme={null}
   docker compose up
   ```

## 합의 레이어 마이그레이션

환경 변수를 업데이트하여 `op-node`를 `base-consensus`로 교체합니다.

1. `.env` 파일에서 `USE_BASE_CONSENSUS=true`를 설정합니다.

2. 새 `BASE_NODE_*` 환경 변수로 `.env` 파일을 업데이트합니다(아래 표 참조).

3. 노드 재시작:

   ```bash theme={null}
   docker compose up
   ```

4. 확인:
   * 합의 로그 확인: `docker compose logs -f node`
   * 동기화 상태 확인: `optimism_syncStatus`가 계속 작동하는지 확인

### 환경 변수 매핑

[base/node](https://github.com/base/node)를 사용하는 경우 대부분의 변수가 이미 `.env.mainnet` 및 `.env.sepolia`에 설정되어 있습니다. [base/base](https://github.com/base/base)에서 빌드하는 경우 아래 표를 사용하여 `op-node` 환경 변수를 `base-consensus`로 매핑하세요. 대부분은 선택 사항입니다. 전체 목록은 `base-consensus node --help`를 실행하세요.

| `op-node`                               | `base-consensus`                   |
| --------------------------------------- | ---------------------------------- |
| `OP_NODE_NETWORK`                       | `BASE_NODE_NETWORK`                |
| `OP_NODE_ROLLUP_CONFIG`                 | `BASE_NODE_ROLLUP_CONFIG`          |
| —                                       | `BASE_NODE_LOG_VERBOSITY`          |
| —                                       | `BASE_NODE_LOG_FORMAT`             |
| `OP_NODE_L1_ETH_RPC`                    | `BASE_NODE_L1_ETH_RPC`             |
| `OP_NODE_L1_BEACON`                     | `BASE_NODE_L1_BEACON`              |
| `OP_NODE_L1_TRUST_RPC`                  | `BASE_NODE_L1_TRUST_RPC`           |
| `OP_NODE_L2_ENGINE_RPC`                 | `BASE_NODE_L2_ENGINE_RPC`          |
| `OP_NODE_L2_ENGINE_AUTH`                | `BASE_NODE_L2_ENGINE_AUTH`         |
| —                                       | `BASE_NODE_L2_ENGINE_AUTH_ENCODED` |
| `OP_NODE_P2P_BOOTNODES`                 | `BASE_NODE_P2P_BOOTNODES`          |
| `OP_NODE_P2P_LISTEN_IP`                 | `BASE_NODE_P2P_LISTEN_IP`          |
| `OP_NODE_P2P_LISTEN_TCP_PORT`           | `BASE_NODE_P2P_LISTEN_TCP_PORT`    |
| `OP_NODE_P2P_LISTEN_UDP_PORT`           | `BASE_NODE_P2P_LISTEN_UDP_PORT`    |
| `OP_NODE_P2P_ADVERTISE_IP`              | `BASE_NODE_P2P_ADVERTISE_IP`       |
| `OP_NODE_P2P_ADVERTISE_TCP`             | `BASE_NODE_P2P_ADVERTISE_TCP_PORT` |
| `OP_NODE_P2P_ADVERTISE_UDP`             | `BASE_NODE_P2P_ADVERTISE_UDP_PORT` |
| `OP_NODE_P2P_PRIV_PATH`                 | `BASE_NODE_P2P_PRIV_PATH`          |
| `OP_NODE_P2P_PEER_SCORING`              | `BASE_NODE_P2P_SCORING`            |
| `OP_NODE_P2P_PEER_BANNING`              | `BASE_NODE_P2P_BAN_PEERS`          |
| `OP_NODE_P2P_PEER_BANNING_THRESHOLD`    | `BASE_NODE_P2P_BAN_THRESHOLD`      |
| `OP_NODE_P2P_PEER_BANNING_DURATION`     | `BASE_NODE_P2P_BAN_DURATION`       |
| `OP_NODE_METRICS_ENABLED`               | `BASE_NODE_METRICS_ENABLED`        |
| `OP_NODE_METRICS_ADDR`                  | `BASE_NODE_METRICS_ADDR`           |
| `OP_NODE_METRICS_PORT`                  | `BASE_NODE_METRICS_PORT`           |
| `OP_NODE_RPC_ADDR`                      | `BASE_NODE_RPC_ADDR`               |
| `OP_NODE_RPC_PORT`                      | `BASE_NODE_RPC_PORT`               |
| `OP_NODE_RPC_ENABLE_ADMIN`              | `BASE_NODE_RPC_ENABLE_ADMIN`       |
| `OP_NODE_RPC_ADMIN_STATE`               | `BASE_NODE_RPC_ADMIN_STATE`        |
| `OP_NODE_SAFEDB_PATH`                   | `BASE_NODE_SAFEDB_PATH`            |
| `OP_NODE_SYNCMODE`                      | —                                  |
| `OP_NODE_VERIFIER_L1_CONFS`             | —                                  |
| `OP_NODE_L2_ENGINE_KIND`                | —                                  |
| `OP_NODE_L1_RPC_KIND`                   | —                                  |
| `OP_NODE_L1_BEACON_FETCH_ALL_SIDECARS`  | —                                  |
| `OP_NODE_L1_BEACON_FALLBACKS`           | —                                  |
| `OP_NODE_ROLLUP_LOAD_PROTOCOL_VERSIONS` | —                                  |
| `OP_NODE_P2P_STATIC`                    | —                                  |
| `OP_NODE_P2P_DISABLE`                   | —                                  |
| `OP_NODE_P2P_NAT`                       | —                                  |

## FAQ

* **재동기화가 필요한가요?** OP Reth를 이미 실행 중인 경우 필요하지 않습니다. 기존 데이터가 호환됩니다.
* **`op-geth` 또는 `nethermind`를 사용 중이라면?** `base-reth-node`로 전환해야 합니다. [Reth 스냅샷](/base-chain/node-operators/snapshots)을 사용하여 부트스트랩하세요.
* **OP 네임스페이스 RPC가 여전히 작동하나요?** 예, 모든 기존 RPC가 지원됩니다.
