아직
kona-node 바이너리가 없다면 GitHub 릴리스 페이지에서
최신 사전 빌드 바이너리를 다운로드하거나,
설치
가이드를 참고하여 직접 빌드하십시오.kona-node는 L2 합의 클라이언트(“rollup node”라고도 함)입니다.
즉, 이 node는 합의 계층 클라이언트이므로 L2 체인을 동기화하고
따라가려면 대응하는 실행 계층 클라이언트가 필요합니다.
OP Stack은 L1 실행 클라이언트에 대해 최소 diff 방식을 사용하며,
op-reth가 주요 L2 실행 계층 클라이언트입니다.
이 섹션에서는 op-reth 인스턴스와 함께
kona-node를 실행하는 방법을 설명합니다.
kona-node는 별도 설정 없이 superchain-registry에 포함된
모든 OP Stack 체인에 사용할 수 있습니다. 새로운 devnet과 같이
레지스트리 외부의 OP Stack 체인을 사용하려면 사용자 지정
--l2-config-file CLI 플래그로 rollup 설정을 지정해야 합니다.
자세한 내용은 rollup 설정 로딩을
참조하십시오.
이 튜토리얼은
kona-node를 바이너리로 실행하는 과정을
안내합니다. Docker를 사용하려면 kona에서 제공하는
docker-compose 설정을 사용하는
Docker 가이드를 참조하십시오.
docker-compose 설정은 op-reth와 함께 kona-node를
자동으로 부트스트랩하며, grafana 대시보드와 기본 Prometheus
설정도 함께 프로비저닝합니다. 잘못된 설정을 피하려면
Docker 가이드를 따르는 것을 권장합니다.kona-node에는 몇 가지 CLI 플래그가 필요합니다.
--l1-eth-rpc <L1_ETH_RPC>L1 실행 클라이언트 RPC API의 URL입니다.--l1-beacon <L1_BEACON>L1 beacon API의 URL입니다.--l2-engine-rpc <L2_ENGINE_RPC>L2 실행 클라이언트의 engine API 엔드포인트 URL입니다.
op-reth의
engine API를 가리킵니다.
L2 체인이 도출되는 L1 체인 데이터를 가져오기 위해
L1 beacon 엔드포인트와 RPC 엔드포인트도 필요합니다.
먼저 op-reth 인스턴스를 시작합니다.
op-reth 문서에는 OP Stack 체인(L2)용 op-reth node를
실행하는 방법이 매우 자세히 설명되어 있습니다. 이 데모에서는
base를 사용하지만, 다른 OP Stack 체인을 사용해도 됩니다.
jwt.hex 파일을 생성하는 데 사용할 수 있는 generate-jwt
justfile 타깃이 있습니다. just generate-jwt를 실행하십시오.
--authrpc.jwtsecret에 전달하는 JWT 토큰 파일 경로는
kona-node에 전달하는 경로와 반드시 같아야 합니다.이 JWT 토큰은 op-reth 클라이언트가 kona-node에서
engine RPC로 보내는 요청을 인증하는 수단입니다.기본적으로 kona-node는 로컬 디렉터리의 jwt.hex 파일에서
JWT 토큰을 읽으려고 시도합니다. 파일을 찾지 못하면
새 jwt.hex 파일에 JWT 토큰을 생성합니다.JWT 토큰이 들어 있는 파일의 경로를 지정하려면
--l2.jwt-secret CLI 플래그에 파일 경로를 전달하거나
KONA_NODE_L2_ENGINE_AUTH 환경 변수를 사용하십시오.8453을 사용하여 kona-node를 실행합니다.
기본적으로
kona-node는 op-node와 동일하게 L1 블록 해시 검증을 활성화하고
로컬 L2 엔진을 신뢰합니다. node가 공개 RPC 엔드포인트를 가리키도록
설정하는 경우 RPC 신뢰 설정을
참고하여 두 RPC 모두에 대한 검증을 설정하십시오.예상 동작
이제kona-node가 시작되면 즉시 P2P 스택을 구동합니다.
같은 체인 ID(base - 8453)와 OP Stack enr 키 “opstack”을 가진
네트워크상의 유효한 피어를 탐색하기 시작합니다.
유효한 피어가 발견되면 libp2p swarm으로 전달되며,
swarm은 해당 피어에 연결을 시도하고 블록 gossip을 수신합니다.
체인과 P2P 네트워크 토폴로지에 따라 kona-node가 충분한 피어 집합을
확보하고 블록 gossip을 수신하기 시작하기까지 시간이 더 걸릴 수 있습니다.
OP Mainnet이나 Base처럼 규모가 크고 성숙한 체인에서는
체인의 P2P 부트노드를 통해 피어 탐색이 빠르게 이루어집니다.
libp2p swarm의 피어로부터 첫 번째 unsafe L2 payload attributes(블록)를
수신하면, 이는 kona-node의 engine actor로 전달되고
engine actor는 op-reth 실행 클라이언트에서 실행 계층 동기화를 시작합니다.
이때 op-reth 로그에 체인을 최신 상태(tip)까지 동기화하기 위해
과거 L2 블록을 가져오는 내용이 표시되기 시작합니다.
EL 동기화가 완료되면 kona-node의 derivation actor가
derivation pipeline을 시작하고 L2 체인 도출을 시작합니다.
그동안 P2P 스택은 별도로 체인의 sequencer로부터 unsafe L2
블록을 수신하여 체인에 삽입하도록 engine actor로 전달합니다.
다음 단계
- node의 기본 포트, 기본 동작, 그리고 sequencer 및 interop 플래그 세트를 포함한 사용 가능한 모든 CLI 플래그는 Kona node CLI 레퍼런스에 정리되어 있습니다.
- 로그 상세 수준을 조정하거나 메트릭 대시보드를 설정하려면 모니터링을 참조하십시오.
- Docker를 사용한
kona-node실행에 대해 자세히 알아보려면 Docker 가이드를 확인하십시오.