이더리움 부트노드 소개
페이지 마지막 업데이트됨: 2024년 9월 23일
새 노드가 이더리움 네트워크에 참여할 때 새로운 피어를 찾기 위해 네트워크에 이미 있는 노드에 연결해야 합니다. 이더리움 네트워크로 들어가는 이러한 진입점을 부트노드라고 합니다. 클라이언트에는 일반적으로 부트노드 목록이 하드코딩되어 있습니다. 이러한 부트노드는 일반적으로 이더리움 재단의 데브옵스 팀이나 클라이언트 팀 자체에서 운영합니다. 부트노드는 정적 노드와 같지 않다는 점에 유의하세요. 정적 노드는 반복적으로 호출되는 반면, 부트노드는 연결할 피어가 충분하지 않아 노드가 새로운 연결을 부트스트랩해야 하는 경우에만 호출됩니다.
부트노드에 연결하기
대부분의 클라이언트에는 부트노드 목록이 내장되어 있지만, 직접 부트노드를 실행하거나 클라이언트의 하드코딩된 목록에 포함되지 않은 부트노드를 사용하고 싶을 수도 있습니다. 이 경우, 클라이언트를 시작할 때 다음과 같이 지정할 수 있습니다(예시는 Geth용이며, 사용 중인 클라이언트의 개발문서를 확인하시기 바랍니다):
1geth --bootnodes "enode://<노드 ID>@<IP 주소>:<포트>"부트노드 실행하기
부트노드는 NAT(네트워크 주소 변환 (opens in a new tab)) 뒤에 있지 않은 풀노드입니다. 모든 풀노드는 공개적으로 사용 가능한 한 부트노드 역할을 할 수 있습니다.
노드를 시작하면 다른 사용자가 노드에 연결하는 데 사용할 수 있는 공개 식별자인 enode가 기록되어야 합니다.
enode는 일반적으로 재시작할 때마다 재생성되므로, 부트노드에 대한 영구 enode를 생성하는 방법은 클라이언트 개발문서를 참조하세요.
좋은 부트노드가 되려면 연결할 수 있는 최대 피어 수를 늘리는 것이 좋습니다. 많은 피어와 함께 부트노드를 실행하면 대역폭 요구 사항이 크게 증가합니다.
사용 가능한 부트노드
go-ethereum에 내장된 부트노드 목록은 여기 (opens in a new tab)에서 확인할 수 있습니다. 이 부트노드들은 이더리움 재단과 go-ethereum 팀에 의해 유지 관리됩니다.
자원봉사자들이 유지 관리하는 다른 부트노드 목록도 있습니다. 항상 하나 이상의 공식 부트노드를 포함하도록 하세요. 그렇지 않으면 이클립스 공격을 받을 수 있습니다.