Systemd 셋업
설치 요구 사항
도커 (docker) 이미지를 사용하는 것 외에도, Linux 시스템 데몬을 Systemd 서비스로 사용하여 노드를 실행하는 방법이 있습니다. 이 서비스는 대부분의 Linux 운영 체제에서 작동하지만, 모든 테스트가 완료되고 매뉴얼이 작성된 환경은 Debian/Ubuntu가 유일합니다.
먼저 노드 서비스를 실행할 서비스 계정을 생성합니다.
adduser BIFROST_SERVICE --system --no-create-home다음으로, 바이프로스트 네트워크의 체인 데이터를 저장할 로컬 디렉토리를 생성합니다. 이 디렉토리에는 노드 바이너리와 제네시스 블록부터 현재까지 수집된 모든 블록 정보 및 해당 검증자 노드의 세션 키가 포함됩니다.
# Add sudo at the beginning if it doesn't work (i.e. Permission Denied)
mkdir -p /var/lib/bifrost-data그 다음, GitHub 릴리스 페이지에서 최신 노드 실행 바이너리 및 체인 사양 (JSON) 파일을 다운로드합니다. 최신 릴리스는 GitHub 저장소의 릴리스 페이지에서 확인할 수 있습니다.
wget "https://github.com/bifrost-platform/bifrost-node/releases/latest/download/bifrost-node"
wget "https://github.com/bifrost-platform/bifrost-node/releases/latest/download/bifrost-testnet.json"wget "https://github.com/bifrost-platform/bifrost-node/releases/latest/download/bifrost-node"
wget "https://github.com/bifrost-platform/bifrost-node/releases/latest/download/bifrost-mainnet.json"마지막으로, 노드 바이너리에 실행 권한을 부여하고 체인 데이터 디렉토리로 옮겨줍니다.
chmod +x bifrost-node
mv bifrost-node bifrost-testnet.json /var/lib/bifrost-datachmod +x bifrost-node
mv bifrost-node bifrost-mainnet.json /var/lib/bifrost-data피어키 생성
바이프로스트 네트워크에서 실행되는 모든 노드는 P2P 네트워크에 연결하기 위한 피어 키 (peer key)가 요구됩니다. 새로운 피어 키를 생성하고 체인 데이터에 자동으로 주입하려면 다음 명령어를 실행합니다.
노드 서비스 실행
먼저 서비스 계정에 체인 데이터 디렉토리의 소유권 권한을 설정합니다.
다음으로, Systemd 설정 파일을 생성해야 합니다. 아래 예시에서 YOUR_NODE_NAME을 원하는 노드 서비스 이름으로 변경하고, 해당 파일을 다음 디렉토리에 저장합니다.
이제 아래 두 줄의 명령어로 노드 서비스가 백그라운드에서 실행됩니다.
로그 확인
실행 중인 bifrost-node 서비스 로그를 확인하려면 다음 명령어를 실행합니다.
노드 서비스가 성공적으로 실행되면 로그는 다음과 같이 표시될 것입니다.
체인 데이터는 제네시스 블록부터 동기화되어야 하므로, 현재 동기화 중임을 나타내는 정보가 다음과 같이 출력됩니다. 동기화가 완료된 후에만 다음 단계로 진행할 수 있으며, 최대 며칠이 소요될 수 있습니다.
체인 데이터 동기화가 완전히 완료되면, 새로 생성된 블록들이 다음과 같이 매 블록 시간마다 하나씩 동기화되기 시작할 것입니다.
키 설정 및 본딩
나머지 상세 설정 프로세스를 진행하기 위해 제공되는 스크립트는 Node.js로 작성되었습니다. 필요한 패키지를 설치하고 다음 명령어를 실행하여 스크립트를 다운로드합니다.
이제 검증자 노드가 블록 생성 및 최종화 프로세스를 수행할 수 있도록 필요한 키 설정을 진행합니다. 이 단계부터는 실행 중인 노드의 체인 데이터 동기화가 완료되어야 합니다.
먼저 검증자 노드는 기본적으로 두 개의 이더리움 호환 계정 (컨트롤러 계정과 스태시 계정)을 필요로 하며, 풀 노드의 경우에는 추가적으로 릴레이어 계정이 필요합니다. 스태시 계정은 초기 자체 본딩 (self-bond)만큼 예치해야 할 충분한 BFC를 보유해야 하며, 컨트롤러 계정은 일부 트랜잭션 수수료를 지불할 수 있을 정도의 잔액만 있으면 됩니다. 새로운 계정을 생성해야 하는 경우 다음 명령어를 실행합니다. (실행 이전에 현재 tools 디렉토리에 있는지 확인하시기 바랍니다).
명령어를 실행하면 사용 가능한 새 검증자 계정이 다음과 같이 출력됩니다. 다음 프로세스를 진행하려면 각 계정에 요구 사항을 충족하는 충분한 BFC를 전송해야 합니다.

다음으로, 검증자 노드는 합의 알고리즘에 사용될 세션 키를 발행하고 등록해야 합니다. 이 프로세스는 다음 명령어를 실행하여 수행할 수 있습니다.

이 명령어는 노드에 대한 세 가지 세션 키를 생성합니다. 각 키는 고유한 목적을 가집니다. Aura는 블록 생성을 위한 것이고, Grandpa는 블록 최종화를 위한 것이며, ImOnline은 노드 활성 (liveness)을 위한 것입니다. 생성된 키는 체인 데이터 디렉토리에 저장됩니다. 디렉토리 경로는 /var/lib/bifrost-data/chains/{testnet|mainnet}/keystore와 같습니다.
마지막으로, 검증자 노드의 자체 본딩을 예치하여 초기 투표 권한을 형성해야 합니다. 이 프로세스는 다음 명령어를 실행하여 수행할 수 있습니다.
위에 언급된 모든 프로세스가 성공적으로 완료되면, 스태시 계정에서 예치된 BFC 금액은 지갑에서 차감되고, 여러분의 컨트롤러 계정은 다음 라운드에서 활성 검증자 업데이트 프로세스에 참여하게 됩니다. 검증자 풀에 성공적으로 합류했는지 여부는 다음 페이지에서 확인할 수 있습니다.

만약, 운영하려는 검증자 노드의 티어가 풀 노드인 경우, 반드시 릴레이어와 함께 운영되어야 합니다. 릴레이어 설정에 대한 매뉴얼은 "릴레이어 셋업" 섹션에서 찾을 수 있습니다.
노드 클라이언트 업데이트
바이프로스트 네트워크는 계속 발전하고 있어, 노드 클라이언트 업그레이드가 요구될 때가 있습니다. 업그레이드 가능 여부와 필수 여부(일부 업그레이드는 선택 사항)는 디스코드 채널이나 개별 연락을 통해 노드 운영자에게 알려드립니다.
노드 클라이언트 업그레이드 전에는 혹시 모를 데이터, 키 또는 자격 증명 손실을 막기 위해 반드시 체인 데이터를 백업해 두셔야 합니다.
Last updated