I. Cài đặt Mithril signer node
Mithril là một giao thức và mạng được thiết kế đặc biệt cho các blockchain sử dụng cơ chế đồng thuận bằng chứng cổ phần (proof-of-stake). Mục tiêu chính của nó là cung cấp khả năng truy cập nhẹ và an toàn vào dữ liệu blockchain, đồng thời đảm bảo mức độ bảo mật và phân cấp cao. Ban đầu được phát triển cho Cardano trong giai đoạn phát triển Basho (tập trung vào tối ưu hóa, khả năng mở rộng và khả năng tương tác), Mithril có nhiều ứng dụng tiềm năng. Chúng bao gồm đồng bộ hóa dữ liệu cho cả ví nhẹ (light wallet) và ví đầy đủ (full-node wallet), cũng như tạo điều kiện trao đổi dữ liệu với các giải pháp lớp 2 như cầu nối (bridges), chuỗi bên (sidechains), tổng hợp giao dịch (rollups) và kênh trạng thái (state channels)…
Cần cài đặt 2 thành phần:
– Một Mithril Signer trên Block ProducerCardano.
– Một Mithril Relay trên một trong những relay node của bạn
I. Cài đặt Mithril Signer trên Block Producer.
a. Cài đặt Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Đặt tệp env của bạn tại $HOME/.cargo. :
"$HOME/.cargo/env"
Kiểm tra phiên bản Rust:
rustc --version
b.Cài đặt Mithril từ github
Tải xuống từ github
cd $HOME/git
git clone https://github.com/input-output-hk/mithril.git mithril
Tìm phiên bản mới nhất có sẵn: https://github.com/input-output-hk/mithril/releases/latest
Hướng dẫn này dựa trên phiên bản Mithril v2450.0. Hãy thay đổi cho phù hợp với phiên bản mới nhất hiện có và tương thích với mạng chính Cardano.
cd $HOME/git/mithril
git checkout v2450.0
Xây dựng Mithril Signer:
cd $HOME/git/mithril/mithril-signer
make test
make build
Xác minh phiên bản
cd $HOME/git/mithril/mithril-signer
./mithril-signer -V
Xác minh bản dựng đang hoạt động chính xác
./mithril-signer -h
Di chuyển mithril-signer vào một thư mục riêng:
mkdir $NODE_HOME/mithril-signer
cd $HOME/git/mithril/mithril-signer
sudo mv -f mithril-signer $NODE_HOME/mithril-signer
Thiết lập biến ENV của Mithril Signer
Điều chỉnh RELAY_ENDPOINT với IP Relay của bạn, nơi sẽ lưu trữ Mithril Relay.
sudo cat > $NODE_HOME/mithril-signer/mithril-signer.env << EOF
KES_SECRET_KEY_PATH=$NODE_HOME/kes.skey
OPERATIONAL_CERTIFICATE_PATH=$NODE_HOME/node.cert
NETWORK=mainnet
AGGREGATOR_ENDPOINT=https://aggregator.release-mainnet.api.mithril.network/aggregator
RUN_INTERVAL=60000
DB_DIRECTORY=$NODE_HOME/db
CARDANO_NODE_SOCKET_PATH=$NODE_HOME/db/socket
CARDANO_CLI_PATH=/usr/local/bin/cardano-cli
DATA_STORES_DIRECTORY=/opt/mithril/stores
STORE_RETENTION_LIMIT=5
ERA_READER_ADAPTER_TYPE=cardano-chain
ERA_READER_ADAPTER_PARAMS=$(jq -nc --arg address $(wget -q -O - https://raw.githubusercontent.com/input-output-hk/mithril/main/mithril-infra/configuration/release-mainnet/era.addr) --arg verification_key $(wget -q -O - https://raw.githubusercontent.com/input-output-hk/mithril/main/mithril-infra/configuration/release-mainnet/era.vkey) '{"address": $address, "verification_key": $verification_key}')
RELAY_ENDPOINT=<YOUR RELAY IP THAT WILL RUN SQUID PROXY>:3132
EOF
Thiết lập dịch vụ
sudo nano mithril-signer.service
[Unit]
Description=Mithril signer service
StartLimitIntervalSec=0
[Service]
Type=simple
Restart=always
RestartSec=60
User=kirael
EnvironmentFile=<FULL PATH TO YOUR mithril-signer.env ENV FILE>
ExecStart=<FULL PATH TO YOUR mithril-signer EXE FILE> -vvv
[Install]
WantedBy=multi-user.target
Di chuyển tệp dịch vụ và thiết lập quyền hạn.
sudo mv mithril-signer.service /etc/systemd/system/mithril-signer.service
sudo chmod 644 /etc/systemd/system/mithril-signer.service
Bật khởi động dịch vụ cùng hệ thống.
sudo systemctl enable mithril-signer
sudo systemctl daemon-reload
Khởi động dịch vụ
sudo systemctl start mithril-signer
Kiểm tra dịch vụ
systemctl status mithril-signer.service