May 21

Logos

🪓 Telegram канал UTSA 🪓 Telegram чат UTSA

Web Discord Github

Testnet details

Подготовка сервера

# обновляем репозитории
apt update && sudo apt upgrade -y

# устанавливаем необходимые утилиты
apt install curl build-essential git wget jq make gcc tmux htop nvme-cli pkg-config libssl-dev libleveldb-dev tar clang bsdmainutils ncdu unzip libleveldb-dev -y

# проверяем работу жестких дисков
curl -sL yabs.sh | bash -s — -ig

# проверяем работу интернета
curl -sL yabs.sh | bash -s — -fg

RUST

curl https://sh.rustup.rs -sSf | sh
source $HOME/.cargo/env

rustup --version
rustc --version
cargo --version

File2Ban - подробнее здесь

# устанавливаем и копируем конфиг, который будет иметь больший приоритет
apt install fail2ban -y && \
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local && \
nano /etc/fail2ban/jail.local
# раскомментировать и добавить свой IP: ignoreip = 127.0.0.1/8 ::1 <ip>
systemctl restart fail2ban

# проверяем status 
systemctl status fail2ban
# проверяем, какие jails активны (по умолчанию только sshd)
fail2ban-client status
# проверяем статистику по sshd
fail2ban-client status sshd
# смотрим логи
tail /var/log/fail2ban.log
# останавливаем работу и удаляем с автозагрузки
#systemctl stop fail2ban && systemctl disable fail2ban

Новая установка ноды

ВАЖНО — в командах ниже все, что в <> меняем на свое значение и убираем сами <>

Скачиваем схемы

wget https://github.com/logos-blockchain/logos-blockchain/releases/download/0.1.2/logos-blockchain-circuits-v0.4.2-linux-x86_64.tar.gz
tar -xzf logos-blockchain-circuits-v0.4.2-linux-x86_64.tar.gz
rm logos-blockchain-circuits-v0.4.2-linux-x86_64.tar.gz

По умолчанию узел ищет файлы схем в ~/.logos-blockchain-circuits

mv logos-blockchain-circuits-*/ ~/.logos-blockchain-circuits

Устанавливаем бинарники ubuntu 22.04

cd
mkdir -p logos && cd logos
git clone https://github.com/logos-blockchain/logos-blockchain.git
cd logos-blockchain
git fetch --tags
git checkout 0.1.2
cargo build -p logos-blockchain-node --release
./target/release/logos-blockchain-node --version
#logos-blockchain-node 0.1.2
#commit:  05f84a55 (tag 0.1.2)

mv ./target/release/logos-blockchain-node /root/logos
cd /root/logos

Для ubuntu 24.04 можно скачать бинарник

wget https://github.com/logos-blockchain/logos-blockchain/releases/download/0.1.2/logos-blockchain-node-linux-x86_64-0.1.2.tar.gz
tar -xzf logos-blockchain-node-linux-x86_64-0.1.2.tar.gz
rm logos-blockchain-node-linux-x86_64-0.1.2.tar.gz
chmod +x ./logos-blockchain-node
./logos-blockchain-node --version
# logos-blockchain-node 0.1.2
# commit:  05f84a5 (tag 0.1.2)

Инициализируем ноду, чтобы создать необходимые файлы конфигурации

Нода разделяет конфигурацию на два уровня. Конфигурация развертывания содержит общесетевые параметры, такие как настройки консенсуса и начальное состояние (по умолчанию используется встроенное развертывание «devnet»). Пользовательская конфигурация содержит индивидуальные настройки узла, такие как криптографические ключи, порты и адреса одноранговых узлов. Подкоманда init генерирует пользовательскую конфигурацию со свежими криптографическими ключами, автоматически определяет ваш публичный IP-адрес с помощью протокола идентификации libp2p и записывает результат в файл user_config.yaml

./logos-blockchain-node init \
    -p /ip4/65.109.51.37/udp/3000/quic-v1/p2p/12D3KooWFrouXfmrR4nsLMtE7wu15DoMJ6VtoUtHinREZCvbWHar \
    -p /ip4/65.109.51.37/udp/3001/quic-v1/p2p/12D3KooWJRGau8M1rjT7R5e4YYsgdFhsMX35nRDtMwCDjxQkXAHz \
    -p /ip4/65.109.51.37/udp/3002/quic-v1/p2p/12D3KooWQXJavMDTRscjauFSgVAB1VLB6Rzpy2uY5SU9Tk7927tb \
    -p /ip4/65.109.51.37/udp/3003/quic-v1/p2p/12D3KooWSQc7CcGtvWDPF1yCbBthFnQjprfCVHmfmNDUrSmqQsU1

Создаем сервисный файл

tee /etc/systemd/system/logos-node.service > /dev/null <<EOF
[Unit]
Description=Logos Blockchain Node
After=network-online.target
Wants=network-online.target

[Service]
User=$USER
WorkingDirectory=$HOME/logos
ExecStart=$HOME/logos/logos-blockchain-node /root/logos/user_config.yaml

Restart=always
RestartSec=10

LimitNOFILE=65535

Environment=RUST_BACKTRACE=1
Environment=LOG_BACKEND=stdout
#Environment=LOG_LEVEL=INFO

StandardOutput=journal
StandardError=journal

[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable logos-node
systemctl restart logos-node && journalctl -u logos-node -f -o cat

Не забываем сохранить user_config.yaml

Найдите ключи, связанные с вашим узлом и запросите токены с faucet на любой ключ из known_keys. В настоящее время faucet работает не идеально - следите за обновлениями в discord

grep -A3 known_keys $HOME/logos/user_config.yaml

Проверьте баланс

curl -s http://localhost:8080/wallet/<your-chosen-key>/balance | jq .

Ваши токены будут доступны для консенсуса через 3,5 часа. Убедитесь, что Ваша нода участвует в процессе, проверив, что mode остается Online и height продолжает расти

Предложение блока является вероятностным. Ваша нода не будет предлагать блок в каждом временном интервале; участие зависит от количества стейка

Полезные команды

Информация

# Посмотреть ключ для faucet
grep -A3 known_keys $HOME/logos/user_config.yaml
# проверить баланс
curl -w "\n" http://localhost:8080/wallet/<key>/balance
# Проверить peers
curl -s http://127.0.0.1:8080/network/info | jq .
# Проверить состояние синхронизации
curl -s http://127.0.0.1:8080/cryptarchia/info | jq .

Удалить ноду

systemctl stop logos-node
systemctl disable logos-node

cd
rm -r logos
rm -r .logos-blockchain-circuits
Поддержим природу вместе: 0xa7476EC14cD663C742d527113638C77a1631Cc89 cosmos1m2mm7kzvw6m3464h94ryqg8xvr6tyeyyecppnq