Ноды (гайды)
December 4, 2023

Установка ноды Entangle

О проекте

Entangle - это первая настраиваемая инфраструктура обмена сообщениями, разработанная для унификации web3 и оптимизации ликвидности экосистемы. Entangle предоставляет разработчикам dApps они аутентифицированные и настраиваемые, защищенные на блокчейне, с возможностью полной настройки безопасности.

Благодаря настраиваемым наборам данных, доступным из любой цепочки или источника, открывается множество масштабируемых сценариев использования для web3 и интернета.

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

Официальные требования:
CPU: 2 or more physical CPU cores RAM: 8GB+ Storage: 250GB+ SSD Network: 10mbps+ OS: Ubuntu 22.04 or macOS

Потребуется:

Git, Golang (минимум версия 1.19), make, jq, Python, golangci-lint и Solc-JS.

Установку GO можно найти у нас на форуме.

Обновляем репозитории:

apt update && apt upgrade -y

Устанавливаем нужны библиотеки:

apt install curl iptables build-essential git wget jq make gcc nano tmux htop nvme-cli pkg-config libssl-dev libleveldb-dev tar clang bsdmainutils ncdu unzip libleveldb-dev -y

Установка ноды

Клонируем репозиторий:

git clone https://github.com/Entangle-Protocol/entangle-blockchain

Переходим в директорию:

cd entangle-blockchain

Запускаем установку:

make install

Создаём кошелёк и даём ему название:

sh init_key.sh название_кошелька пароль_к_кошельку

Обязательно сохраните мнемонику и кошелёк.

Качаем и распаковываем snapshoot:

sh get_snapshot.sh

Дожидаемся скачивания и распаковки.

Инициализируем, запускаем ноду и ждём синхронизацию:

sh run_node.sh

После создадим сервисный файл, для простоты управления нодой:

tee /etc/systemd/system/entangled.service > /dev/null <<EOF 
[Unit] 
Description=entangled 
After=network-online.target 

[Service] 
User=$USER 
ExecStart=$(which entangled) start 
Restart=on-failure 
RestartSec=3 
LimitNOFILE=65535 

[Install] 
WantedBy=multi-user.target 
EOF

Далее перезагрузим ноду и включим daemon:

systemctl daemon-reload 
systemctl enable entangled 
systemctl restart entangled && journalctl -u entangled -f -o cat

Проверяем этой командой и ждём, пока будет catching_up:false:

entangled status 2>&1 | jq

Для быстрой синхронизации воспользуемся StateSync:

sudo systemctl stop entangled
entangled tendermint unsafe-reset-all --home ~/.entangled/ --keep-addr-book
SNAP_RPC="https://rpc-t.entangle.nodestake.top:443"
LATEST_HEIGHT=$(curl -s $SNAP_RPC/block | jq -r .result.block.header.height); \
BLOCK_HEIGHT=$((LATEST_HEIGHT - 1000)); \
TRUST_HASH=$(curl -s "$SNAP_RPC/block?height=$BLOCK_HEIGHT" | jq -r .result.block_id.hash)
echo $LATEST_HEIGHT $BLOCK_HEIGHT $TRUST_HASH
sed -i.bak -E "s|^(enable[[:space:]]+=[[:space:]]+).*$|\1true| ; \
s|^(rpc_servers[[:space:]]+=[[:space:]]+).*$|\1\"$SNAP_RPC,$SNAP_RPC\"| ; \
s|^(trust_height[[:space:]]+=[[:space:]]+).*$|\1$BLOCK_HEIGHT| ; \
s|^(trust_hash[[:space:]]+=[[:space:]]+).*$|\1\"$TRUST_HASH\"|" 
/.entangled/config/config.toml
more ~/.entangled/config/config.toml | grep 'rpc_servers'
more ~/.entangled/config/config.toml | grep 'trust_height'
more ~/.entangled/config/config.toml | grep 'trust_hash'
sudo systemctl restart entangled

И смотрим логи:

journalctl -u entangled -f

Далее потребуется запросить монет в кране для создания нашего валидатора, для этого получим наш приватный ключ для импорта его в Metamask(MM далее):

entangled keys unsafe-export-eth-key название_кошелька

Получаем наш приватный ключ и импортируем его в MM.

Далее вступаем в discord и после верификации в канале faucets пишем в DM этому боту свой кошелёк, который копируем из MM.

Далее потребуется создать валидатора, для этого нужен 1 NGL это 1000000000000000000aNGL, для проверки баланса используйте:

entangled q bank balances адрес_кошелька

После этого создаем валидатора, только впишите название своего валидатора и название кошелька:

entangled tx staking create-validator \
--amount="5000000000000000000aNGL" \
--pubkey=$(entangled tendermint show-validator) \
--moniker="имя_валидатора" \
--chain-id=entangle_33133-1 \
--commission-rate="0.10" \
--commission-max-rate="0.20" \
--commission-max-change-rate="0.01" \
--min-self-delegation="1" \
--gas=500000 \
--gas-prices="10aNGL" \
--from=название_кошелька

После этого следим за своим валидатором в explorer, продолжаем доить кран, также можно попросить тестовые токены в канале у разработчиков команды, чтобы быстрее выбраться в active.

После этого заполняем форму(в нём отправляем кошелёк MM).

И следим за новостями по проекты в их discord.

Полезные ссылки

Сайт проекта.

Вот и всё, всем профита!