메인 콘텐츠로 건너뛰기
이 페이지에서는 OP Deployer의 아키텍처를 설명합니다. OP Deployer는 각 단계가 배포 프로세스의 한 부분을 담당하는 파이프라인 구조입니다. 파이프라인은 체인의 원하는 상태를 기술하는 intent라는 구성을 입력으로 받아, 배포 중 및 배포 후 체인의 현재 상태를 기술하는 state라는 파일을 생성합니다. 파이프라인의 단계는 다음과 같습니다.
  1. 초기화
  2. 공유 컨트랙트 배포
  3. 구현 배포
  4. OP Chain 배포
  5. Alt-DA 배포
  6. 분쟁 게임(dispute game) 배포
  7. L2 제네시스 생성
  8. 시작 블록 설정
각 단계가 끝날 때마다 state가 디스크에 기록됩니다. 따라서 복구 가능한 오류가 발생하면 어느 지점에서든 파이프라인을 다시 시작할 수 있습니다. 아래에서 각 단계를 더 자세히 살펴보겠습니다.

초기화

이 단계에서 OP Deployer는 사용자의 intent를 기반으로 파이프라인의 초기값을 설정합니다. 이 값은 이후 단계에서 사용됩니다. 예를 들어, 사용자가 기존 공유 컨트랙트 집합을 사용하여 배포하는 경우 해당 컨트랙트가 이 단계에서 state에 삽입됩니다.

공유 컨트랙트/구현 배포

다음으로 체인의 기본 컨트랙트가 배포됩니다. 여기에는 SuperchainConfig와 같은 공유 관리 컨트랙트와, 향후 OP Chain 배포에 사용될 OP Contracts Manager(OPCM)와 같은 구현 컨트랙트가 포함됩니다. 대부분의 체인은 기존 구현을 사용하도록 구성됩니다. 이 경우 이 단계는 건너뜁니다.

OP Chain 배포

이 단계에서 OP Chain 자체가 배포됩니다. intent에 여러 체인이 지정되어 있으면 여러 체인이 배포됩니다. 배포는 OPCM을 호출하는 방식으로 이루어지며, OPCM은 성공적으로 배포된 각 체인에 대해 이벤트를 내보냅니다.

커스터마이징 배포

다음 두 단계(Alt-DA 및 분쟁 게임)는 커스터마이징을 배포합니다. 이름에서 알 수 있듯이 Alt-DA 및 추가 분쟁 게임 컨트랙트를 배포합니다. 이 단계는 주로 테스트에서 유용하므로 일반적으로 건너뜁니다.

L2 제네시스 생성

이 단계에서는 체인을 초기화하는 데 사용되는 L2 제네시스 파일을 생성합니다. 이 파일은 L2Genesis.sol을 호출하고 출력된 state를 덤프하여 생성됩니다.

시작 블록 설정

마지막으로 시작 블록이 L1의 현재 블록 번호로 설정됩니다. 배포 프로세스는 임의로 오래 걸릴 수 있으므로, 시작 블록이 비교적 최근 블록이 되도록 이 작업을 마지막에 수행합니다.