메인 콘텐츠로 건너뛰기
아직 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입니다.
L2 engine RPC는 실행 계층 클라이언트인 op-reth의 engine API를 가리킵니다. L2 체인이 도출되는 L1 체인 데이터를 가져오기 위해 L1 beacon 엔드포인트와 RPC 엔드포인트도 필요합니다. 먼저 op-reth 인스턴스를 시작합니다. op-reth 문서에는 OP Stack 체인(L2)용 op-reth node를 실행하는 방법이 매우 자세히 설명되어 있습니다. 이 데모에서는 base를 사용하지만, 다른 OP Stack 체인을 사용해도 됩니다.
Kona에는 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 환경 변수를 사용하십시오.
그런 다음 Base의 체인 ID 8453을 사용하여 kona-node를 실행합니다.
이것으로 끝입니다! node가 P2P에 연결되고 빠르게 동기화를 시작합니다.
기본적으로 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 가이드를 확인하십시오.