Cài đặt và vận hành máy chủ Qubic Archive
Thiết lập một máy chủ lưu trữ để lưu trữ và xác thực dữ liệu giao dịch Qubic bằng cách sử dụng các script để duy trì đối tác, tệp tick và các epoch.
Qsilver · Ngày 22 tháng 1 năm 2024.
Giới thiệu
Qubic không phải là loại tiền điện tử thông thường của bạn! Không có blockchain, ban đầu không rõ ràng làm thế nào để các giao dịch được xác thực, và việc cắt tỉa dữ liệu giao dịch hàng tuần tạo ra những thách thức trong việc xác định các giao dịch trong quá khứ. Máy chủ lưu trữ xử lý những vấn đề này bằng cách tự động lưu trữ tất cả dữ liệu liên quan từ mỗi epoch, xử lý thay đổi epoch mà không cần biên dịch lại (trừ khi giao thức mạng thay đổi).
Cài đặt và Biên dịch
Giả sử một máy chủ Linux, hãy làm theo các bước sau để cài đặt máy chủ lưu trữ:
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
Hệ thống của bạn sẽ cần g++
để biên dịch mã C++, cmake
và e2fsprogs
. Những thứ này thường có sẵn sẵn và có thể không cần cài đặt qua apt-get
.
Vận hành Máy chủ Lưu trữ
Để vận hành máy chủ lưu trữ liên tục, sử dụng các script bash vòng lặp vô hạn:
while true; do ACTION; done
Chạy mỗi script trong một cửa sổ riêng hoặc không đồng bộ với &
. Nếu ngắt kết nối là một rủi ro, sử dụng:
nohup ./script > script.out &
Các Hành động và Script
1. Duy trì Danh sách Đối tác
Tạo một script vòng lặp với hành động:
./bxid peersloop
Script này sẽ cập nhật thư mục đối tác với các tệp được đặt tên theo địa chỉ IP đối tác, cần thiết cho các truy vấn để tìm đối tác epoch hiện tại và trước đó.
2. Lấy Tệp Tick
Tạo một script vòng lặp với hành động:
./bxid maketickfiles
Script này lưu tệp quorum và dữ liệu tick trong các thư mục tương ứng của chúng. Nó hoạt động trong hai giai đoạn: yêu cầu song song để lấy tệp tick và một chế độ tuần tự với các lần thử lại. Chạy script này trong vòng lặp đảm bảo nhiều tệp hơn được lấy với mỗi lần lặp lại.
3. Quét Epochs
Tạo một script vòng lặp với hành động:
./bxid scanepoch 0
Giá trị epoch là 0 có nghĩa là script sẽ xác định epoch hiện tại và tạo tệp .json
cho lưu trữ. Đảm bảo tệp computors
cho epoch được chỉ định có sẵn.
4. Tạo Tệp JSON và Đăng lên OpenSearch
Tạo một script vòng lặp với hành động:
./bxid jsonfiles
Script này tạo tệp .json
và đăng chúng lên OpenSearch, thực hiện các xác thực cơ bản và xóa các tệp không hợp lệ.
5. Xác thực
Tạo một script vòng lặp với hành động:
./bxid validate
Script này xác thực các phiếu bầu quorum, đảm bảo 451+ phiếu bầu với các mã băm khớp và xác minh mã băm dữ liệu tick. Nó bảo vệ tệp đã xác thực để ngăn chặn xác thực lại.
Sử dụng OpenSearch
Cài đặt OpenSearch bằng cách làm theo hướng dẫn trên opensearch.org. Đảm bảo nó có sẵn trên localhost:9200
. Sửa đổi các hàm opensearch()
và opensearchpost()
trong bxidutils.cpp
để sử dụng thông tin xác thực phù hợp nếu thêm đăng nhập và chứng chỉ. Để chạy máy chủ lưu trữ mà không cần OpenSearch, hãy chú thích #define POST_TO_OPENSEARCH
trong bxid.cpp
.
Các Công cụ Bổ sung
Đối với những người có quyền truy cập vào nguồn cấp nhật ký máy tính, tạo một tập dữ liệu bxid
sử dụng:
./qubic-cli -nodeip (ipaddr) -getlogfromnode (pass0) (pass1) (pass2) (pass3)
./bxid logjson logfileN
Thay thế N
bằng số nguồn của các mục nhập nhật ký máy tính. Điều này tạo và duy trì nhật ký trong logs/(epoch)/logfileN
và tệp .json
của nó.
Ghi chú Cuối cùng
Thêm một script để bao gồm:
./bxid qchain 0
Điều này tạo ra một tập dữ liệu qchain
, một bản tóm tắt tất cả dữ liệu bất biến trong phiếu bầu quorum và bản tóm tắt tick trước đó. Điều này giúp đảm bảo dữ liệu giống hệt nhau trên các lưu trữ khác nhau.
Kết luận
Cài đặt máy chủ lưu trữ với các script khác nhau của nó đảm bảo dữ liệu giao dịch Qubic được lưu trữ và xác thực toàn diện. Với các công cụ này, bạn có thể duy trì một máy chủ lưu trữ mạnh mẽ có khả năng xử lý xử lý giao dịch độc đáo của Qubic.
Để cập nhật thông tin mới nhất, tham gia Discord của Valis, theo dõi chúng tôi trên X, và đánh dấu blog của chúng tôi.
Trên trang này