메인 콘텐츠로 건너뛰기
OP Stack 학습하기 — 14단계 중 6단계. 지금까지 OP Stack이 무엇인지, Ethereum과 어떻게 다른지, 어떤 구성 요소로 이루어져 있는지 등 기초를 다루었습니다. 이 첫 번째 프로젝트에서는 op-deployer로 rollup testnet을 배포하고 각 구성 요소를 직접 시작합니다. 시리즈의 모든 부분을 진행한 다음 트랜잭션 흐름으로 넘어가십시오.
나만의 OP Stack L2 rollup testnet 배포를 위한 완전한 가이드에 오신 것을 환영합니다. 이 여러 부분으로 구성된 튜토리얼은 초기 설정부터 완전히 작동하는 rollup까지 각 구성 요소를 단계별로 안내합니다.
이 튜토리얼에는 EVM 체인 작업에 대한 중급 수준의 경험이 필요합니다. 스마트 컨트랙트, 개인 키, RPC 엔드포인트, gas 수수료, 명령줄 작업과 같은 개념에 익숙해야 합니다. Docker에 대한 기본적인 이해도 권장됩니다.

만들게 될 것

이 튜토리얼을 마치면 다음을 갖춘 완전한 OP Stack testnet을 보유하게 됩니다.
  • Sepolia testnet에 배포된 L1 스마트 컨트랙트
  • 트랜잭션을 처리하는 실행 클라이언트(op-reth)
  • rollup 합의를 관리하는 합의 클라이언트(op-node)
  • 트랜잭션 데이터를 L1에 게시하는 Batcher(op-batcher)
  • 상태 루트 제안을 제출하는 Proposer(op-proposer)
  • 분쟁을 모니터링하는 Challenger(op-challenger)

시작하기 전에

아래에서 설정 경로를 선택하기 전에 다음을 준비하십시오. 자동 경로와 수동 경로 모두 이러한 의존성과 리소스가 필요합니다.

소프트웨어 의존성

특정 의존성에 대한 참고 사항

자세한 내용은 아래의 각 의존성을 펼쳐 확인하십시오.
최신 LTS 버전의 Node.js(현재 v20) 사용을 권장합니다.
nvm은 머신에서 여러 버전의 Node.js를 관리하는 데 도움이 되는 유용한 도구입니다.
이전 버전의 Node.js에서는 예기치 않은 오류가 발생할 수 있습니다.
이 가이드에서는 cast를 사용하여 지갑 주소를 생성합니다.
이 튜토리얼의 일부에서는 .envrc 파일의 환경 변수를 셸에 로드하는 방법으로 direnv를 사용합니다.
따라서 환경 변수를 사용할 때마다 수동으로 export할 필요가 없습니다.
direnv는 명시적으로 허용한 파일에만 접근할 수 있습니다.
direnv를 설치한 후에는 direnv가 셸에 연결(hook)되어 있는지 반드시 확인해야 합니다.
direnv 웹사이트의 가이드를 따랐는지 확인한 다음, 변경 사항이 적용되도록 터미널을 닫았다가 다시 여십시오(또는 방법을 알고 있다면 구성 파일을 source하십시오).
셸 구성 파일(예: ~/.bashrc 또는 ~/.zshrc)을 수정하여 direnv를 셸에 올바르게 연결했는지 확인하십시오.
구성 파일을 편집하지 않았다면 direnv가 제대로 구성되지 않았을 가능성이 높습니다(이후 작업이 제대로 동작하지 않을 수 있습니다).
이 튜토리얼에서는 다양한 OP Stack 구성 요소를 실행하기 위해 Docker를 광범위하게 사용합니다.
시스템에 Docker와 Docker Compose가 모두 설치되어 실행 중인지 확인하십시오.
Linux에서는 sudo 없이 Docker를 실행하도록 구성해야 할 수 있습니다.
Docker Desktop을 사용하는 경우 튜토리얼을 시작하기 전에 실행 중인지 확인하십시오.
다음 명령으로 설치를 확인할 수 있습니다.

Sepolia node 접근 권한 확보

OP Stack 체인을 Sepolia에 배포하므로 Sepolia node에 접근할 수 있어야 합니다. Alchemy와 같은 node 제공업체를 사용하거나(더 쉬움) 직접 Sepolia node를 실행할 수 있습니다(더 어려움).

필요한 리소스

  • Sepolia ETH - 약 2-3 ETH가 필요합니다.
  • L1 RPC URL - Sepolia 네트워크에 연결하기 위한 RPC 엔드포인트입니다. Alchemy, Infura와 같은 node 제공업체에서 얻을 수 있습니다. op-deployer 및 기타 서비스가 L1에서 데이터를 읽고 트랜잭션을 전송하려면 이것이 필요합니다.
Testnet 전용: 이 가이드는 testnet 배포 전용입니다.

경로 선택

의존성과 리소스가 준비되었으면 작업 방식에 맞는 경로를 선택하십시오.
  • 자동 설정 — rollup을 가장 빠르게 실행하는 방법입니다. 이 저장소에 있는 완전한 작동 구현을 사용하며 모든 구성과 배포를 대신 처리합니다.
  • 수동 설정 — 각 구성 요소를 단계별로 안내합니다. 각 구성 요소를 자세히 이해하고 싶거나 사용자 지정 구성이 필요한 경우 이 경로를 선택하십시오.

자동 설정

빠르게 시작하려면 이 저장소에서 제공하는 완전한 작동 구현을 사용할 수 있습니다. 이 자동 설정은 모든 구성 및 배포 단계를 대신 처리합니다.
완전한 작동 예제완전한 작동 구현은 create-l2-rollup-example/ 디렉터리에서 확인할 수 있습니다. 여기에는 필요한 모든 스크립트, Docker Compose 구성 및 예제 환경 파일이 포함되어 있습니다.

자동 설정 단계

  1. 저장소를 클론하고 코드 디렉터리로 이동합니다.
  2. 환경을 구성합니다.
  3. 자동 설정을 실행합니다.
  4. rollup을 모니터링합니다.
자동 설정은 표준 OP Stack 환경 변수 규칙(OP_* 접두사)을 사용하며 복잡한 구성을 모두 자동으로 처리합니다.

수동 설정

각 구성 요소를 자세히 이해하고 싶거나 사용자 지정 구성이 필요한 경우 아래의 단계별 가이드를 따르십시오. 각 단계는 이전 단계를 기반으로 하므로 순서대로 완료하는 것이 가장 좋습니다.

디렉터리 구조

rollup 배포를 체계적으로 관리하기 위해 전용 디렉터리 구조를 만듭니다. 모든 구성 요소는 이 구조 안에서 설정됩니다.
각 구성 요소의 문서에서는 파일과 구성을 추가함에 따라 디렉터리 구조가 어떻게 변하는지 보여줍니다.
이 튜토리얼 전체에서 모든 파일 경로는 이 rollup 디렉터리 구조를 기준으로 한 상대 경로입니다. 다른 디렉터리 이름을 사용하는 경우 명령을 적절히 조정하십시오.

수동 설정 단계

수동 경로는 서로를 기반으로 하는 순차적인 단계로 구성되어 있습니다.
1

op-deployer 실행

op-deployer를 설치하고, L1 컨트랙트를 배포하고, 환경을 준비합니다.op-deployer 설정으로 이동 →
2

sequencer 실행

op-reth와 op-node(실행 레이어 및 합의 레이어)를 설정하고 실행합니다.sequencer 설정으로 이동 →
3

batcher 실행

L1 데이터 게시를 위해 op-batcher를 구성하고 시작합니다.batcher 설정으로 이동 →
4

proposer 실행

상태 루트 제출을 위해 op-proposer를 설정합니다.proposer 설정으로 이동 →
5

challenger 실행

분쟁 해결 모니터링을 위해 op-challenger를 구성합니다.challenger 설정으로 이동 →

op-deployer 실행

의존성이 이미 준비되었습니까? 시작하여 op-deployer를 실행하십시오.

도움이 필요하신가요?