큐빅 아카이브 서버 설정 및 운영
스크립트를 사용하여 피어 유지 관리, 틱 파일 및 에포크를 통해 큐빅 트랜잭션 데이터를 저장하고 검증하는 아카이브 서버를 설정하세요.
Qsilver · 2024년 1월 22일.
소개
큐빅은 일반적인 암호화폐가 아닙니다! 블록체인이 없기 때문에 트랜잭션이 어떻게 검증되는지 처음에는 명확하지 않으며, 트랜잭션 데이터를 매주 가지치기하기 때문에 과거 트랜잭션을 결정하는 데 어려움이 있습니다. 아카이브 서버는 각 에포크에서 관련 데이터를 자동으로 저장하고, 네트워크 프로토콜이 변경되지 않는 한 재컴파일 없이 에포크 변경을 처리하여 이러한 문제를 해결합니다.
설정 및 컴파일
리눅스 서버를 가정하고, 아카이브 서버를 설정하기 위해 다음 단계를 따르세요:
git clone <https://github.com/Qsilver97/qubic-cli>
cd qubic-cli
mkdir build
cd build
cmake ..
make
g++ -I.. ../bxid.cpp ../connection.cpp -o bxid
C++ 코드를 컴파일하기 위해 g++
, cmake
, 및 e2fsprogs
가 필요합니다. 이들은 일반적으로 표준으로 제공되며 apt-get
을 통해 설치할 필요가 없습니다.
아카이브 서버 실행
아카이브 서버를 지속적으로 실행하려면 무한 루프 bash 스크립트를 사용하세요:
while true; do ACTION; done
각 스크립트를 별도의 창에서 실행하거나 &
를 사용하여 비동기로 실행하세요. 연결이 끊길 위험이 있는 경우 다음을 사용하세요:
nohup ./script > script.out &
작업 및 스크립트
1. 피어 목록 유지 관리
다음 작업으로 루프 스크립트를 만드세요:
./bxid peersloop
이 스크립트는 피어 IP 주소로 이름이 지정된 파일로 피어 디렉터리를 업데이트하며, 현재 및 이전 에포크 피어를 찾기 위한 쿼리에 필수적입니다.
2. 틱 파일 가져오기
다음 작업으로 루프 스크립트를 만드세요:
./bxid maketickfiles
이 스크립트는 각 디렉터리에 쿼럼 파일과 틱 데이터를 저장합니다. 틱 파일을 가져오기 위한 병렬 요청과 재시도를 포함하는 순차 모드의 두 단계로 작동합니다. 이 스크립트를 루프에서 실행하면 각 반복에서 더 많은 파일을 얻을 수 있습니다.
3. 에포크 스캔
다음 작업으로 루프 스크립트를 만드세요:
./bxid scanepoch 0
에포크 값 0은 스크립트가 현재 에포크를 결정하고 아카이브를 위한 .json
파일을 생성한다는 의미입니다. 지정된 에포크에 대한 computors
파일이 있는지 확인하세요.
4. JSON 파일 생성 및 OpenSearch에 게시
다음 작업으로 루프 스크립트를 만드세요:
./bxid jsonfiles
이 스크립트는 .json
파일을 생성하고 OpenSearch에 게시하며, 기본 검증을 수행하고 잘못된 파일을 삭제합니다.
5. 검증
다음 작업으로 루프 스크립트를 만드세요:
./bxid validate
이 스크립트는 쿼럼 투표를 검증하며, 451개 이상의 투표가 일치하는 해시로 있는지 확인하고 틱 데이터 해시를 검증합니다. 검증된 파일을 재검증하지 않도록 쓰기 보호합니다.
OpenSearch 사용
opensearch.org의 지침을 따라 OpenSearch를 설치하세요. localhost:9200
에서 사용할 수 있는지 확인하세요. 로그인이 추가되고 인증서가 추가된 경우 적절한 자격 증명을 사용하도록 bxidutils.cpp
의 opensearch()
및 opensearchpost()
함수를 수정하세요. OpenSearch 없이 아카이브 서버를 실행하려면 bxid.cpp
의 #define POST_TO_OPENSEARCH
를 주석 처리하세요.
추가 도구
컴퓨터 로그 피드에 액세스할 수 있는 경우 다음 명령을 사용하여 bxid
데이터셋을 생성하세요:
./qubic-cli -nodeip (ipaddr) -getlogfromnode (pass0) (pass1) (pass2) (pass3)
./bxid logjson logfileN
N
을 컴퓨터 로그 항목의 소스 번호로 바꾸세요. 이는 logs/(epoch)/logfileN
및 해당 .json
파일에 로그를 생성하고 유지 관리합니다.
마지막 메모
다음 스크립트를 추가하세요:
./bxid qchain 0
이는 쿼럼 투표의 모든 불변 데이터와 이전 틱 다이제스트에 대한 다이제스트인 qchain
데이터셋을 생성합니다. 이는 다른 아카이브 간 동일한 데이터를 보장하는 데 도움이 됩니다.
결론
아카이브 서버 설정과 다양한 스크립트를 통해 큐빅 트랜잭션 데이터가 포괄적으로 저장되고 검증됩니다. 이러한 도구를 통해 큐빅 고유의 트랜잭션 처리를 처리할 수 있는 강력한 아카이브 서버를 유지 관리할 수 있습니다.
최신 업데이트를 위해 Valis Discord에 가입하고, X에서 팔로우하고, 우리 블로그를 북마크하세요.
최신 업데이트를 위해 Valis Discord에 가입하고, X에서 팔로우하고, 우리 블로그를 북마크하세요.