p2p API는 Kona의 P2P 스택과 상호작용하기 위한 메서드를 제공합니다.
피어 정보 메서드
opp2p_self
로컬 노드에 대한 정보를 PeerInfo 형식으로 반환합니다. 탐색 없이 실행 중인 노드는 ENR을 반환하지 않습니다.
예시
opp2p_peerCount
탐색 네트워크와 gossip 네트워크 모두에 대해 연결된 피어 수를 반환합니다. 탐색 없이 실행 중인 노드는 connectedDiscovery에 대해 null을 반환합니다.
예시
opp2p_peers
피어에 대한 정보를 반환합니다. connected 매개변수가 true이면 연결된 피어만 반환합니다. 탐색 없이 실행 중인 노드는 피어에 대해 ENR 없이 chainID를 0으로 반환합니다.
매개변수
connected(boolean): true이면 연결된 피어만 반환합니다
예시
opp2p_peerStats
연결 수와 토픽 구독을 포함한 피어 통계 정보를 반환합니다. 탐색 없이 실행 중인 노드는 table 값으로 0을 반환합니다.
예시
opp2p_discoveryTable
탐색 테이블 항목을 ENR 문자열 목록으로 반환합니다. 탐색 없이 실행 중인 노드는 op-node와 마찬가지로 discovery disabled 오류를 반환합니다.
예시
피어 차단 메서드
opp2p_blockPeer
피어 ID로 특정 피어를 차단하여 해당 피어와의 모든 연결을 막습니다. 피어의 열린 연결은 닫히며, 차단이 해제되거나 노드가 재시작될 때까지 양방향의 새 연결이 거부됩니다. 차단은 아직 재시작 후에 유지되지 않습니다(#23768).
이는 보호된 피어와 정적 피어에도 적용됩니다. 차단된 정적 피어는 차단이 해제되거나, 노드가 재시작되어 구성에 따라 다시 연결을 시도할 때까지 다시 연결되지 않습니다. 반면 op-node는 차단된 피어의 열린 연결을 그대로 유지합니다.
매개변수
peerID(string): 차단할 피어 ID
예시
opp2p_unblockPeer
이전에 차단된 피어를 피어 ID로 차단 해제하며, op-node와 마찬가지로 점수로 인해 ban된 경우 ban도 해제합니다. 정적 피어는 1분 이내에 다시 연결을 시도합니다. 즉시 연결하려면 opp2p_connectPeer를 호출하십시오.
매개변수
peerID(string): 차단 해제할 피어 ID
예시
opp2p_listBlockedPeers
차단된 모든 피어 ID 목록을 반환합니다. op-node와 마찬가지로 점수로 인해 ban된 피어는 나열되지 않습니다.
예시
주소 차단 메서드
opp2p_blockAddr
어느 피어에 속하든 특정 IP 주소와의 연결을 차단합니다. 열린 연결은 닫히며, 주소의 차단이 해제되거나 노드가 재시작될 때까지 양방향의 새 연결이 거부됩니다(#23768). 반면 op-node는 열린 연결을 그대로 유지합니다.
매개변수
address(string): 차단할 IP 주소(IPv4 또는 IPv6)
예시
opp2p_unblockAddr
이전에 차단된 IP 주소를 차단 해제합니다.
매개변수
address(string): 차단 해제할 IP 주소(IPv4 또는 IPv6)
예시
opp2p_listBlockedAddrs
차단된 모든 IP 주소 목록을 반환합니다.
예시
서브넷 차단 메서드
opp2p_blockSubnet
어느 피어에 속하든 CIDR 표기법을 사용해 전체 IP 서브넷과의 연결을 차단합니다. 열린 연결은 닫히며, 서브넷의 차단이 해제되거나 노드가 재시작될 때까지 양방향의 새 연결이 거부됩니다(#23768). 반면 op-node는 열린 연결을 그대로 유지합니다.
매개변수
subnet(string): CIDR 표기법으로 나타낸 차단할 서브넷(예: “192.168.1.0/24”)
예시
opp2p_unblockSubnet
이전에 차단된 IP 서브넷을 차단 해제합니다.
매개변수
subnet(string): CIDR 표기법으로 나타낸 차단 해제할 서브넷
예시
opp2p_listBlockedSubnets
차단된 모든 IP 서브넷 목록을 반환합니다.
예시
피어 보호 메서드
opp2p_protectPeer
연결 제한이나 기타 자동 정리(pruning) 메커니즘으로 인해 피어의 연결이 끊기지 않도록 보호합니다.
매개변수
peerID(string): 보호할 피어 ID
예시
opp2p_unprotectPeer
피어의 보호를 해제하여 자동 정리 메커니즘에 의해 연결이 끊길 수 있도록 합니다. 정적 피어는 보호 상태가 유지됩니다.
매개변수
peerID(string): 보호를 해제할 피어 ID
예시
연결 관리 메서드
opp2p_connectPeer
multiaddress를 사용해 특정 피어에 연결하고, 피어가 연결되면 반환합니다.
이 메서드는 차단과 ban을 따릅니다. 피어, 피어의 IP 주소 또는 서브넷이 차단되었거나 피어가 점수로 인해 ban된 경우, 호출은 즉시 사유와 함께 실패하며 연결을 시도하지 않습니다. 이러한 피어에 연결하려면 먼저 차단을 해제하십시오. opp2p_unblockPeer는 ban도 해제합니다. 피어가 재연결 제한에 도달한 경우에도 호출은 즉시 실패합니다. 예를 들어 해당 주소에서 수신 대기하는 것이 없어 연결 시도가 실패하면 연결 오류를 반환하며, 30초 이내에 완료되지 않은 연결 시도는 타임아웃됩니다.
매개변수
multiaddr(string): 연결할 피어의 multiaddress
예시
opp2p_disconnectPeer
피어 ID로 특정 피어와의 연결을 끊고, 연결이 닫히면 반환합니다. 정적 피어는 약 1초 후에 다시 연결을 시도합니다.
매개변수
peerID(string): 연결을 끊을 피어 ID