> ## Documentation Index
> Fetch the complete documentation index at: https://docs.optimism.io/llms.txt
> Use this file to discover all available pages before exploring further.

# 체인 운영 문제 해결

> 체인 운영 문제를 해결할 때 자주 발생하는 문제의 해결 방법을 알아봅니다.

이 페이지는 체인 운영자를 위한 일반적인 문제 해결 시나리오와 해결 방법을 정리합니다.

## 컨트랙트 배포 시 EvmError

L1 스마트 컨트랙트 배포가 다음 오류와 함께 실패합니다.

```text theme={null}
EvmError: Revert
```

### 해결 방법

OP Stack은 결정론적 스마트 컨트랙트 배포를 사용하여, 배포 시 제공되는 "salt" 값을 기반으로 모든 컨트랙트 주소를 미리 계산할 수 있도록 보장합니다.
각 OP Stack 체인은 컨트랙트 주소가 다른 OP Stack 체인과 충돌하지 않도록 고유한 salt 값을 가져야 합니다.

L1 스마트 컨트랙트를 배포할 때 사용하는 salt를 변경하면 이 오류를 피할 수 있습니다.
salt 값은 컨트랙트를 배포할 때 `IMPL_SALT` 환경 변수로 설정합니다.
`IMPL_SALT` 값은 32바이트 hex 문자열이어야 합니다.

다음 명령을 사용하여 무작위 salt 값을 생성할 수 있습니다.

```bash theme={null}
export IMPL_SALT=$(openssl rand -hex 32)
```

## Failed to find the L2 Heads to start from

`op-node`가 다음 오류와 함께 derivation 프로세스 실행에 실패합니다.

```text theme={null}
WARN [02-16|21:22:02.868] Derivation process temporary error       attempts=14 err="stage 0 failed resetting: temp: failed to find the L2 Heads to start from: failed to fetch L2 block by hash 0x0000000000000000000000000000000000000000000000000000000000000000: failed to determine block-hash of hash 0x0000000000000000000000000000000000000000000000000000000000000000, could not get payload: not found"
```

### 해결 방법

이 오류는 `op-reth`의 데이터 디렉터리가 손상된 경우(예: 컴퓨터 충돌의 결과로) 발생할 수 있습니다.
데이터 디렉터리를 다시 초기화해야 합니다.

[자체 L2 Rollup 만들기](https://docs.optimism.io/ko/chain-operators/tutorials/create-l2-rollup.md) 튜토리얼을 따르고 있다면 [sequencer 실행](https://docs.optimism.io/ko/chain-operators/tutorials/create-l2-rollup/op-reth-setup.md) 섹션의 명령을 다시 실행하세요.

튜토리얼을 따르고 있지 않다면 다음 단계를 수행하세요.

1. `op-node`와 `op-reth`를 중지합니다.
2. 해당 `op-reth` 데이터 디렉터리를 삭제합니다.
3. `genesis.json` 파일로 `op-reth`를 다시 초기화합니다: `op-reth init --chain=./genesis.json --datadir=./datadir`.
4. `op-reth`와 `op-node`를 다시 시작합니다.

## Batcher가 트랜잭션을 게시할 수 없음

`op-batcher`가 다음 오류와 함께 트랜잭션 게시에 실패합니다.

```text theme={null}
INFO [03-21|14:22:32.754] publishing transaction                   service=batcher txHash=2ace6d..7eb248 nonce=2516 gasTipCap=2,340,741 gasFeeCap=172,028,434,515
ERROR[03-21|14:22:32.844] unable to publish transaction            service=batcher txHash=2ace6d..7eb248 nonce=2516 gasTipCap=2,340,741 gasFeeCap=172,028,434,515 err="insufficient funds for gas * price + value"
```

### 해결 방법

이 오류는 `op-batcher`가 L1에 트랜잭션을 게시하는 데 필요한 ETH가 부족할 때 발생합니다.
`op-batcher` 주소로 ETH를 추가로 전송하면 이 문제를 해결할 수 있습니다.
