superchain-ops 저장소를 사용하여 Optimism 체인을 업그레이드하는 과정을 설명합니다. 주로 Security Council이 관리하는 OP Stack 체인, Foundation 또는 Security Council이 서명자인 체인, 그리고/또는 매우 안전한 프로세스가 필요한 체인을 대상으로 합니다.
superchain-ops의 강화된 보안이나 Security Council 서명이 필요하지 않은 체인은 다른 업그레이드 도구를 사용할 수 있습니다. 단, op-deployer upgrade 명령은 op-contracts/v5.0.0까지의 업그레이드만 지원한다는 점에 유의하십시오.
Optimism 거버넌스가 적용되지 않는 체인은 자체 도구를 사용하여 OPCM과 직접 상호작용하여 체인을 업그레이드할 수 있습니다.
superchain-ops는 Optimism 체인을 위해 설계된 매우 안전한 서비스입니다. 체인 업그레이드에 대해 체계적이고 보안 중심적인 접근 방식을 제공합니다. 이 과정에서는 미리 정의된 템플릿을 사용하여 필요한 업그레이드 트랜잭션을 생성하는 task를 만듭니다.
superchain-ops를 사용해야 하는 대상
superchain-ops는 주로 다음을 대상으로 합니다.
-
Security Council이 관리하는 OP Stack 체인: Optimism Security Council이 관리하는 표준 체인의 경우 일반적으로
superchain-ops를 통해 업그레이드가 처리됩니다. -
Foundation 또는 Security Council이 서명자인 체인: 체인의 서명자에 Foundation 멀티시그 또는 Security Council이 포함된 경우 업그레이드 task는
superchain-ops를 거쳐야 합니다. -
매우 안전한 프로세스가 필요한 체인: 자동화보다 보안을 우선시하는 체인을 위해
superchain-ops는 철저한 검증 단계(예: EVM 상태 diff 검사)를 갖춘 의도적인 수동 워크플로를 제공합니다.
템플릿과 task 이해하기
superchain-ops는 두 가지 핵심 개념을 사용합니다.
-
템플릿(Templates): 업그레이드가 무엇인지 정의하며 특정 업그레이드 경로에 대한 코드를 포함합니다(예:
op-contracts/v1.8.0에서op-contracts/v2.0.0으로). 템플릿은 버전별로 존재하며 /src/improvements/template 디렉터리에 있습니다. -
Task: 템플릿을 사용하여 체인에 대한 특정 업그레이드 트랜잭션을 정의합니다. 여러 task가 동일한 템플릿을 사용할 수 있습니다. Task는 /src/improvements/tasks 디렉터리에 네트워크별(
eth또는sep)로 정리되어 있습니다.
일반적인 업그레이드 과정
다음은op-contracts/v1.8.0에서 op-contracts/v2.0.0으로의 업그레이드를 예로 들어 superchain-ops를 사용하여 체인을 업그레이드하는 과정을 설명합니다. 다른 OPCM 기반 업그레이드(예: op-contracts/v2.0.0에서 op-contracts/v3.0.0으로)에도 동일한 패턴이 적용됩니다.
1단계: superchain-ops 저장소 클론하기
1a단계: 의존성 설치(최초 1회)
README.md 파일의 ‘Quick Start’ 섹션에 있는 ‘Install Dependencies’ 안내를 따르십시오.
2단계: quick start를 사용하여 새 task 생성하기
op-contracts/v1.8.0에서 op-contracts/v2.0.0으로의 업그레이드에는 OPCMUpgradeV200)을 선택하고 필요한 세부 정보를 입력합니다.
그러면 config.toml과 README 파일이 포함된 새 task 디렉터리가 생성됩니다. 구성 파일은 다음과 같습니다.
3단계: task 구성하기
task를 완전히 구성하려면config.toml 파일에 추가 속성을 넣어야 합니다. 예를 들어 op-contracts/v1.8.0에서 op-contracts/v2.0.0으로 업그레이드할 때는 이전 task를 참고할 수 있습니다: src/improvements/tasks/eth/002-opcm-upgrade-v200/config.toml
이것은 예시 task입니다. 자신의 task에 필요한 값은 직접 파악해야 합니다. 아래 예시의 모든 주소와 기타 값을 반드시 교체하십시오.