메인 콘텐츠로 건너뛰기
이 문서는 kona-node node 하위 명령의 모든 CLI 플래그를 카테고리별로 정리합니다. 모든 플래그는 명령줄 인수 또는 환경 변수로 지정할 수 있습니다.
각 플래그에 대한 자세한 내용은 인라인 도움말(kona-node node --help) 또는 소스 코드를 참조하십시오.

기본 포트

HTTP RPC와 WebSocket RPC는 하나의 TCP 리스너를 공유합니다. WebSocket 연결은 동일한 주소와 포트에 대한 HTTP 업그레이드 요청으로 시작됩니다. kona-node는 supervisor RPC 서버를 실행하지 않습니다. 이 바이너리에는 --supervisor.* 플래그 그룹이 없습니다. 유일한 interop 플래그인 --interop.dependency-set (KONA_NODE_INTEROP_DEPENDENCY_SET)은 포트가 아니라 dependency-set JSON 파일의 경로를 받습니다. --conductor.rpc(KONA_NODE_CONDUCTOR_RPC) 역시 리스닝 포트가 아닙니다. 이는 node가 외부로 연결하는 외부 conductor 서비스의 RPC 엔드포인트 URL이며, 기본값이 없습니다. 이 값을 지정하면 node가 sequencer 모드(--mode sequencer)로 실행될 때 conductor 통합이 활성화됩니다. validator 모드에서는 아무런 효과가 없습니다.

핵심 노드 인수

전역 인수

체인 ID 지원

--l2-chain-id 플래그는 alloy_chains crate를 사용해 유연한 체인 식별을 지원합니다. 숫자 체인 ID:
문자열 체인 이름:
짧은 플래그와 환경 변수:
지원되는 체인 이름에는 alloy_chains가 인식하는 모든 이름(예: optimism, base, mainnet)이 포함됩니다. 사용자 지정 네트워크를 위해 알려지지 않은 숫자 체인 ID도 허용됩니다.

P2P 인수

정적 피어

--p2p.static-peers는 탐색 결과와 관계없이 노드가 직접 연결하고 연결을 유지하는 피어 목록입니다. sequencer와 같은 노드가 신뢰하는 노드와 계속 연결되도록 하려면 이 플래그를 사용하십시오.
정적 피어를 설정해도 탐색이 꺼지지는 않습니다. superchain registry에 있는 체인에서는 --p2p.bootnodes가 없더라도 체인에 내장된 bootnode에서 탐색이 시작되며, 노드는 bootstore에 저장된 피어에도 연결을 시도합니다. 따라서 노드는 여전히 다른 노드를 찾아 연결하며, 다른 노드도 이 노드를 찾을 수 있습니다. 정적 피어에만 연결하려면 --p2p.no-discovery도 설정하십시오. 탐색 없이 실행하기를 참조하십시오.
각 항목은 피어 ID로 끝나는 TCP multiaddr입니다.
  • /ip4/... 주소보다 /dns4/... 주소를 사용하는 것이 좋습니다. 이름은 연결을 시도할 때마다 확인되므로 피어의 IP가 바뀌어도 목록이 계속 동작합니다.
  • 플래그를 반복하거나, 환경 변수에서 필요한 것처럼 쉼표로 구분된 목록을 지정하십시오. 항목 앞뒤의 공백은 무시되며, 빈 환경 변수는 정적 피어가 없음을 의미합니다.
  • 주소가 TCP가 아니거나 /p2p/<peer id>로 끝나지 않으면 노드가 시작되지 않습니다.
  • 같은 피어 ID를 가진 여러 주소는 하나의 피어로 취급되며, 먼저 연결되는 주소로 연결됩니다.
  • 노드는 자신의 피어 ID를 가진 항목을 무시하므로, 그룹 내 모든 노드가 같은 목록을 사용할 수 있습니다.
피어 ID는 노드의 P2P 개인 키에서 파생됩니다. 모든 정적 피어에 --p2p.priv.path 또는 --p2p.priv.raw로 고정 키를 지정하십시오. 고정 키가 없으면 노드는 시작할 때마다 새 키를 생성하므로 피어 ID도 새로 바뀝니다. 실행 중인 노드의 주소를 확인하려면 opp2p_self를 호출하십시오. addresses에는 끝에 /p2p/<peer id>가 붙은 listen 주소가 나열됩니다. IP를 다른 노드가 이 노드에 접근할 때 사용하는 이름이나 주소로 바꾸십시오. 노드는 수신 대기를 시작할 때 피어 ID도 로그로 남깁니다. 노드를 실행하지 않고 키 파일의 피어 ID를 얻으려면 op-node p2p priv2id < key.txt를 사용하십시오. 이 명령은 kona 키에도 동작합니다. 노드는 정적 피어를 다음과 같이 처리합니다.
  • 시작 시 정적 피어에 연결을 시도하고, 이후 1분마다 연결되지 않은 피어에 다시 연결을 시도합니다. 연결이 끊긴 정적 피어는 약 1초 후에 다시 연결을 시도합니다.
  • 정적 피어는 재연결 제한(--p2p.redial)에서 제외되고, 낮은 점수로 차단되지 않으며, opp2p_unprotectPeer 이후에도 보호 상태가 유지됩니다.
  • opp2p_blockPeer로 차단되었거나 차단된 주소 또는 서브넷에 있는 정적 피어는 연결이 끊기며, 차단이 해제될 때까지 다시 연결을 시도하지 않습니다. 차단이 해제되면 다음 확인 시점(1분 이내)에 연결을 시도합니다. 즉시 연결하려면 opp2p_connectPeer를 호출하십시오. 차단이 정적 피어에 적용되면 노드는 경고를 로그로 남깁니다. 이는 피어 ID, 구성된 IP 주소 또는 열린 연결의 주소로 판단합니다. DNS 이름으로 지정되어 있고 연결되지 않은 정적 피어의 경우에는 이를 판단할 수 없습니다.
  • 노드는 탐색을 통해 정적 피어를 다른 노드에 전달하지 않으므로, 다른 노드는 이 노드를 통해 정적 피어를 찾을 수 없습니다. 단, 정적 피어가 자체적으로 탐색을 실행하면 여전히 발견될 수 있습니다.
op-node에서는 이 플래그를 --p2p.static이라고 부르며, kona-node도 이 이름을 허용합니다. 환경 변수는 KONA_NODE_P2P_STATIC이 아니라 KONA_NODE_P2P_STATIC_PEERS입니다.

탐색 없이 실행하기

--p2p.no-discovery를 사용하면 노드는 Discv5를 실행하지 않습니다.
  • UDP 포트를 바인딩하지 않으므로 --p2p.listen.udp를 다른 프로세스가 사용 중이어도 되며, ENR을 게시하지 않습니다.
  • --p2p.bootnodes, 체인에 내장된 bootnode, bootstore를 무시합니다.
  • 정적 피어, 이 노드에 연결해 오는 피어, opp2p_connectPeer로 추가된 피어에만 연결합니다. 다른 노드가 이 노드를 찾을 수 없으므로, 이 노드의 주소를 받은 노드만 연결해 옵니다.
연결된 피어와는 여전히 gossip을 통해 블록을 교환합니다. 노드는 서로 연결되지 않은 피어 사이에서 블록을 중계할 수 있습니다. 예를 들어 그룹 구성원들이 허브만 정적 피어로 지정한 경우 그 허브가 이 역할을 합니다. P2P RPC 메서드는 여전히 응답합니다. 탐색이 꺼졌을 때 op-node가 그렇듯이 opp2p_self는 ENR을 반환하지 않고, opp2p_peerStats는 table 값으로 0을 반환하며, opp2p_discoveryTable은 discovery disabled 오류를 반환합니다. op-node에는 없는 opp2p_peerCount는 connectedDiscovery에 대해 null을 반환하고, opp2p_peers는 각 피어에 대해 ENR 없이 chainID를 0으로 반환합니다. op-conductor의 상태 확인은 opp2p_peerStats의 connected 값을 읽으며, 이 값에는 정적 피어가 포함됩니다. 탐색이 켜져 있으면, 정적 피어가 있더라도 탐색이 시작에 실패하거나 이후에 중지되면 노드가 중지됩니다. 노드는 다음과 같이 피어를 찾습니다. 탐색이 꺼져 있을 때 정적 피어가 설정되지 않았거나 bootnode가 설정된 경우(bootnode는 무시되므로), 노드는 시작 시 경고를 로그로 남깁니다.

RPC 인수

RPC 서버는 한 번 시작됩니다. 예기치 않게 중지되면 노드는 오류와 함께 종료됩니다.

Sequencer 인수

Interop 인수

kona-node는 supervisor RPC 서버를 실행하지 않으므로 --supervisor.* 플래그 그룹이 없습니다. --interop.dependency-set이 노드의 유일한 interop 플래그입니다.

RPC 신뢰 플래그

--l1-trust-rpc와 --l2-trust-rpc 플래그는 Kona가 RPC 응답의 블록 해시를 검증할지 여부를 제어합니다. 신뢰를 비활성화해야 하는 경우에 대한 안내와 신뢰, 비신뢰, 혼합 공급자 구성 예시는 RPC 신뢰 구성을 참조하십시오.

기본 동작

위 플래그로 재정의하지 않는 한, kona-node node 실행에는 다음 기본값이 적용됩니다.
  • P2P 스택이 시작됩니다. libp2p swarm은 블록 gossip을 수신하기 위해 TCP 9222에서 수신 대기합니다. discv5 탐색 서비스는 UDP 포트 9223에서 실행됩니다. 피어 점수 산정이 활성화됩니다.
  • RPC 서버가 0.0.0.0:9545에서 노출됩니다. Websocket 연결은 기본적으로 비활성화되어 있습니다.
  • Prometheus 메트릭은 비활성화되어 있습니다. --metrics.enabled 플래그로 활성화할 수 있으며, 그러면 메트릭이 0.0.0.0:9090에서 제공되고, --metrics.port 및 --metrics.addr 플래그로 구성할 수 있습니다.

Rollup 구성 로딩

--l2-config-file CLI 플래그로 rollup 구성 파일 경로를 지정하지 않으면, Rollup Config는 superchain registry를 통해 로드됩니다. 사용자 지정 rollup 구성은 --l2-config-file 플래그로 지정하거나, kona-node가 제공하는 재정의(override) 플래그를 사용해 특정 값만 재정의할 수 있습니다. 재정의 플래그(예: --canyon-override)는 kona-node node --help를 실행해 도움말 메뉴에서 확인할 수 있습니다. 현재 지원되는 재정의는 초 단위의 하드포크 타임스탬프뿐입니다.