Logos
🪓 Telegram канал UTSA 🪓 Telegram чат UTSA
- Working directory:
logos - Explorer: https://testnet.blockchain.logos.co/web/explorer/
- Explorer: https://logosblocks.noders.services/
- Info: https://devnet.blockchain.logos.co/web/
- Faucet: https://testnet.blockchain.logos.co/web/faucet/
Подготовка сервера
# обновляем репозитории 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
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/12D3KooWSQc7CcGtvWDPF1yCbBthFnQjprfCVHmfmNDUrSmqQsU1tee /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
Найдите ключи, связанные с вашим узлом и запросите токены с 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