Установка ноды Gaia
В данном руководстве мы разберем установку собственной AI-модели для участия в тестнете проекта Gaia. Данная нода отличается от всех проектов, что мы разбирали ранее -- это не валидатор и не фармер, это полноценный узел нейросети. За поддержание работы узла, который постоянно обрабатывает запросы и генерирует ответы мы будем получать очки, которые превратятся в награды в mainnet. ПодготовкаОбычно AI-проекты стабильно ассоциируются с GPU и видеокартами, поэтому имеют наивысший порог входа сред...
Установка ноды Dria
В данном руководстве разбираем установку новой ИИ-ноды Dria. Схема работы ноды крайне похожа на Gaia, наша нода будет получать задания для обработки в LLM-моделях, за успешное выполнение заданий мы будем получать очки $DRIA. Разница заключается лишь в том, что нагрузку подают сами создатели проекта.ПодготовкаТребований к железу у этой ноды больше, чем у Gaia. К большому сожалению, на сервере с 4 ядрами запустить ничего не получится - данная нода просто не поддерживает такие слабые модели. Вам...
Установка ноды Gensyn
Продолжаем наш марафон ИИ-нод с новым проектом Gensyn. Наши вычислительные ресурсы здесь будут использоваться для распределенного обучения ИИ-моделей, а все узлы в сети объединятся в "разум улья", пока мы фармим очки за каждый пройденный раунд обучения.ПодготовкаВ этот раз нам потребуется сервер не менее 8 ядер и 16 Гб RAM. А также (внезапно) аккаунт Alchemy.com. Ставим мешок зависимостей, чтобы поставить nodejs и yarn: apt install -y python3 python3-venv python3-pip curl screen git yarn curl...
Установка ноды Gaia
В данном руководстве мы разберем установку собственной AI-модели для участия в тестнете проекта Gaia. Данная нода отличается от всех проектов, что мы разбирали ранее -- это не валидатор и не фармер, это полноценный узел нейросети. За поддержание работы узла, который постоянно обрабатывает запросы и генерирует ответы мы будем получать очки, которые превратятся в награды в mainnet. ПодготовкаОбычно AI-проекты стабильно ассоциируются с GPU и видеокартами, поэтому имеют наивысший порог входа сред...
Установка ноды Dria
В данном руководстве разбираем установку новой ИИ-ноды Dria. Схема работы ноды крайне похожа на Gaia, наша нода будет получать задания для обработки в LLM-моделях, за успешное выполнение заданий мы будем получать очки $DRIA. Разница заключается лишь в том, что нагрузку подают сами создатели проекта.ПодготовкаТребований к железу у этой ноды больше, чем у Gaia. К большому сожалению, на сервере с 4 ядрами запустить ничего не получится - данная нода просто не поддерживает такие слабые модели. Вам...
Установка ноды Gensyn
Продолжаем наш марафон ИИ-нод с новым проектом Gensyn. Наши вычислительные ресурсы здесь будут использоваться для распределенного обучения ИИ-моделей, а все узлы в сети объединятся в "разум улья", пока мы фармим очки за каждый пройденный раунд обучения.ПодготовкаВ этот раз нам потребуется сервер не менее 8 ядер и 16 Гб RAM. А также (внезапно) аккаунт Alchemy.com. Ставим мешок зависимостей, чтобы поставить nodejs и yarn: apt install -y python3 python3-venv python3-pip curl screen git yarn curl...
Subscribe to Investment Hollow
Subscribe to Investment Hollow
Share Dialog
Share Dialog
<100 subscribers
<100 subscribers
Nulink - новый блокчейн первого уровня, являющейся платформой для более безопасных и функциональных децентрализованных приложений. Но нас как нод-раннеров интересуют не красивые термины, а возможность установки ноды, да еще и за награды. И данный проект как нельзя кстати подходит для участия, потому как уже подтвердил награды для нодеров, а его тестнет проходит на платформе coinlist - значит, проект собирается в будущем проводить там ICO. А участникам тестнетов проекты, выходящие на данной платформе, всегда дают преференции.
Не будем затягивать вступление, сразу к делу. Нам потребуется сервер с мощностями 4 ядра/8 Гб ОЗУ/100 Гб HDD. ОС как всегда Ubuntu 22.04, на которой уже заряжен и готов к бою docker. Я не хочу повторять секцию по установке докера в каждом своем гайде, поэтому если у вас его на сервере еще нет или пока не знаете как поставить - обратитесь к официальной документации докера или к одному из прошлых гайдов.
Первое, что нам потребуется - это клиент Geth. Его необходимо поставить только ради генерации ключевой пары для нашей ноды. В этом тестнете у вашей ноды будет собственная ключевая пара, и для ноды она нужна в очень специфичном формате - просто приватник из метамаска ей не подойдет. А вот с вашего метамаска вы будете подключаться к ноде через сайт, и стейкать в нее токены.
Я предпочитаю все ставить в докере, поэтому и geth тоже поставим в нем. Скачиваем образ, запускаем.
docker pull ethereum/client-go:stable docker run -it -p 30303:30303 ethereum/client-go -d
Дальше заходим в контейнер.
docker ps
Находим ID контейнера ethereum/client-go (первый столбец)

docker exec -it <ID> sh
Оказавшись внутри контейнера, вызываем geth и просим создать новую ключевую пару и сохранить ее в директорию keystore.
geth account new --keystore ./keystore
В выводе вы увидите адрес кошелька вашей ноды (публичный ключ) и адрес расположения файла ключевой пары. Адрес кошелька ноды - сохраняем из терминала выделением текста в файл на ПК.
Переходим в эту папку, открываем файл внутри (у него длинное имя из даты и времени) и копируем содержимое, выделяя текст в терминале, переносим в текстовый файл на ПК.
cd ./keystore
cat <имя файла>
Для тех, кто уже шарит за докер - я в курсе о существовании команды docker cp, и о возможности забирать файлы из контейнера с хоста. Если вам так удобнее - можете так и делать. Новичок же при таком подходе с большей вероятностью ошибется, поэтому в данном гайде приведен способ пусть и более “топорный”, но более понятный.
Для тех, кто еще не шарит за докер - это способ для блондинок, так делать можно, но не солидно. Если хотите делать красиво - почитайте о взаимодействии хоста и контейнера и про команду docker cp. Пусть это будет вашим домашним заданием.
Выходим из контейнера
exit
Клиент geth нам больше не нужен. Теперь ставим сам Нюлинк.
docker pull nulink/nulink:latest
Возвращаемся в домашнюю директорию, создаем папку nulink.
cd ~ mkdir nulink
В эту папку нужно переместить нашу ключевую пару. Создаем файл key в директории ~/nulink
nano ~/nulink/key
Вставляем в данный файл содержимое, скопированное из контейнера (правой кнопкой мыши), сохраняем Ctrl+X, Y.
На всю папку делаем команду изменения прав на файлы
chmod -R 777 ~/nulink/
При виде данной строки пострадал один инженер по информационной безопасности.
Объявляем две переменные окружения. В них будут хранится пароли для доступа к ключевой паре. Задайте два одинаковых пароля чтобы не путаться и сохраните их где-нибудь в надежном месте.
export NULINK_KEYSTORE_PASSWORD=<пароль>
export NULINK_OPERATOR_ETH_PASSWORD=<пароль>
Дальше выполняем огромную команду инициализации контейнера Нюлинк нужными значениями переменных. Почему команда не знает о существовании плагина compose, с помощью которого инициализировать все можно из файла конфигурации - загадка.
docker run -it --rm -p 9151:9151 -v ~/nulink:/code -v ~/nulink:/home/circleci/.local/share/nulink -e <ваш пароль> nulink/nulink nulink ursula init --signer keystore:///code/key --eth-provider https://data-seed-prebsc-2-s2.binance.org:8545 --network horus --payment-provider https://data-seed-prebsc-2-s2.binance.org:8545 --payment-network bsc_testnet --operator-address <публичный ключ вашей ноды, полученной из geth> --max-gas-price 10000000000
Далее скрипт попросит определить некоторые параметры в интерактивном режиме. Первое - ваш айпи адрес (должен определиться автоматически, но проверьте). Далее введите пароль для ключей Оператора (чтобы не путаться, используйте везде один). Далее снова дважды введите пароль от ключевой пары. Будет сгенерирована сид-фраза. Скопируйте ее. У вас спросят сохранили ли вы сидку? Отвечаем Yes, вставляем сидку в терминал чтобы подтвердить (сохраните ее обязательно в файле на ПК!). В конце скрипт выведет вам адрес оператора и путь до ключевой пары. Адрес оператора сохраняем. На данный адрес запрашиваем tBNB с фасета (чтобы у оператора были деньги на газ).
Запускаем!
docker run --restart on-failure -d --name ursula -p 9151:9151 -v ~/nulink:/code -v ~/nulink:/home/circleci/.local/share/nulink -e NULINK_KEYSTORE_PASSWORD -e NULINK_OPERATOR_ETH_PASSWORD nulink/nulink nulink ursula run --no-block-until-ready
Если все хорошо, увидите длинную строку с ID контейнера. Смотрим логи.
docker logs -f ursula
Логи через 5 минут должны быть вот такими:
Authenticating Ursula Loaded Ursula (horus) ✓ External IP matches configuration Starting services ✓ Node Discovery (Horus) ✓ Work Tracking ✓ Start Operator Bonded Tracker ✓ Rest Server https://8.219.186.125:9151 Working ~ Keep Ursula Online!
Значит наш оператор готов принять стейк!
Отправляемся на дашборд проекта. Сразу скажу сайт очень часто лагает, если что-то неверно отображается/не грузится - обновляем страницу или пробуем через часок-другой. Коннектим наш метамаск (на него также придется запросить с фасета tBNB). Затем с фасета уже на самом сайте проекта (значок кошелька справа вверху) получаем тестовые токены NLK. Они-то и отправятся в стейк.

Получив NLK, нажимаем Stake. Когда транзакция выполнится (не забываем, что сначала будет approve траты токена NLK, и только со второго раза - стейк!), идем в раздел Bond Worker. Вбиваем адрес Оператора, полученный на шаге инициализации контейнера в раздел Worker Address, связываемся с нашей нодой.
После этого шага первое время будет показываться что нода оффлайн. Обновите страницу через некоторое время, ошибка пройдет.
Теперь наш стейк засчитан в ее пользу. Внизу страницы располагаются данные о состоянии вашей ноды (uptime), какую долю составляет ваша ставка, сколько накапало наград. Награды обновляются раз в эпоху, номер эпохи отображается там же. Длительность эпохи - 1 сутки. Любой стейк начинает работать только со следующей эпохи, то есть в день установки ваши токены еще не будут работать, награды начнете получать со следующего дня.
Далее - абузим! Абуз разрешен командой и более того, без него вообще нет смысла в данном тестнете, так как вам нужно попасть в топ нод по аккумулированным наградам. Создаем множество кошельков, на которые получаем тестовые NLK (на один кошелек фасет дает токены лишь один раз), их отправляем на адрес оператора, как только они отобразятся в разделе вашего баланса - отправляем в стейк. Переходим в раздел Quests (их тоже желательно сделать), там коннектим Дискорд, клеймим очки за запущенную ноду, смотрим какие еще есть задания. Там же находим задание на NuLink Agent - веб кошелек проекта. Для одного из квестов нужно его создать, через него же и происходит абуз. Задаем пароль, бэкапим сид фразу, передаем либо с фасета, либо с нашего метамаска немного tBNB на комиссии (хватит даже 0,001 tBNB), клеймим NLK на веб-странице Агента (значок кошелька справа вверху), отправляем на адрес нашего метамаска, затем снова стейкаем. Повторяем до посинения (буквально). Прогресс продвижения отслеживаем в разделе Leaderboards. Помните, решает не совокупный стейк, а совокупные награды за стейк!

По поводу увеличения числа нод - смотрите по вашим возможностям абуза. Поставить 5 нод, которые будут на низких позициях в лидерборде - бесполезно. Лучше иметь одну, но высоко в топе, целимся в топ-1000. На этом все, желаем удачи с данным проектом, вопросы как всегда можно задать в чате нашего канала Investment Hollow.
Если у вас есть аккаунт на CoinList - самое время вспомнить логин и пароль, если нет - самое время сделать и попытаться пройти KYC. Проект будет выходить на этой платформе, так что без готового аккаунта в ICO поучаствовать не получится. Аккаунты также можно купить на OTC. Когда будете готовы, заполните форму на CL по ссылке.
Nulink - новый блокчейн первого уровня, являющейся платформой для более безопасных и функциональных децентрализованных приложений. Но нас как нод-раннеров интересуют не красивые термины, а возможность установки ноды, да еще и за награды. И данный проект как нельзя кстати подходит для участия, потому как уже подтвердил награды для нодеров, а его тестнет проходит на платформе coinlist - значит, проект собирается в будущем проводить там ICO. А участникам тестнетов проекты, выходящие на данной платформе, всегда дают преференции.
Не будем затягивать вступление, сразу к делу. Нам потребуется сервер с мощностями 4 ядра/8 Гб ОЗУ/100 Гб HDD. ОС как всегда Ubuntu 22.04, на которой уже заряжен и готов к бою docker. Я не хочу повторять секцию по установке докера в каждом своем гайде, поэтому если у вас его на сервере еще нет или пока не знаете как поставить - обратитесь к официальной документации докера или к одному из прошлых гайдов.
Первое, что нам потребуется - это клиент Geth. Его необходимо поставить только ради генерации ключевой пары для нашей ноды. В этом тестнете у вашей ноды будет собственная ключевая пара, и для ноды она нужна в очень специфичном формате - просто приватник из метамаска ей не подойдет. А вот с вашего метамаска вы будете подключаться к ноде через сайт, и стейкать в нее токены.
Я предпочитаю все ставить в докере, поэтому и geth тоже поставим в нем. Скачиваем образ, запускаем.
docker pull ethereum/client-go:stable docker run -it -p 30303:30303 ethereum/client-go -d
Дальше заходим в контейнер.
docker ps
Находим ID контейнера ethereum/client-go (первый столбец)

docker exec -it <ID> sh
Оказавшись внутри контейнера, вызываем geth и просим создать новую ключевую пару и сохранить ее в директорию keystore.
geth account new --keystore ./keystore
В выводе вы увидите адрес кошелька вашей ноды (публичный ключ) и адрес расположения файла ключевой пары. Адрес кошелька ноды - сохраняем из терминала выделением текста в файл на ПК.
Переходим в эту папку, открываем файл внутри (у него длинное имя из даты и времени) и копируем содержимое, выделяя текст в терминале, переносим в текстовый файл на ПК.
cd ./keystore
cat <имя файла>
Для тех, кто уже шарит за докер - я в курсе о существовании команды docker cp, и о возможности забирать файлы из контейнера с хоста. Если вам так удобнее - можете так и делать. Новичок же при таком подходе с большей вероятностью ошибется, поэтому в данном гайде приведен способ пусть и более “топорный”, но более понятный.
Для тех, кто еще не шарит за докер - это способ для блондинок, так делать можно, но не солидно. Если хотите делать красиво - почитайте о взаимодействии хоста и контейнера и про команду docker cp. Пусть это будет вашим домашним заданием.
Выходим из контейнера
exit
Клиент geth нам больше не нужен. Теперь ставим сам Нюлинк.
docker pull nulink/nulink:latest
Возвращаемся в домашнюю директорию, создаем папку nulink.
cd ~ mkdir nulink
В эту папку нужно переместить нашу ключевую пару. Создаем файл key в директории ~/nulink
nano ~/nulink/key
Вставляем в данный файл содержимое, скопированное из контейнера (правой кнопкой мыши), сохраняем Ctrl+X, Y.
На всю папку делаем команду изменения прав на файлы
chmod -R 777 ~/nulink/
При виде данной строки пострадал один инженер по информационной безопасности.
Объявляем две переменные окружения. В них будут хранится пароли для доступа к ключевой паре. Задайте два одинаковых пароля чтобы не путаться и сохраните их где-нибудь в надежном месте.
export NULINK_KEYSTORE_PASSWORD=<пароль>
export NULINK_OPERATOR_ETH_PASSWORD=<пароль>
Дальше выполняем огромную команду инициализации контейнера Нюлинк нужными значениями переменных. Почему команда не знает о существовании плагина compose, с помощью которого инициализировать все можно из файла конфигурации - загадка.
docker run -it --rm -p 9151:9151 -v ~/nulink:/code -v ~/nulink:/home/circleci/.local/share/nulink -e <ваш пароль> nulink/nulink nulink ursula init --signer keystore:///code/key --eth-provider https://data-seed-prebsc-2-s2.binance.org:8545 --network horus --payment-provider https://data-seed-prebsc-2-s2.binance.org:8545 --payment-network bsc_testnet --operator-address <публичный ключ вашей ноды, полученной из geth> --max-gas-price 10000000000
Далее скрипт попросит определить некоторые параметры в интерактивном режиме. Первое - ваш айпи адрес (должен определиться автоматически, но проверьте). Далее введите пароль для ключей Оператора (чтобы не путаться, используйте везде один). Далее снова дважды введите пароль от ключевой пары. Будет сгенерирована сид-фраза. Скопируйте ее. У вас спросят сохранили ли вы сидку? Отвечаем Yes, вставляем сидку в терминал чтобы подтвердить (сохраните ее обязательно в файле на ПК!). В конце скрипт выведет вам адрес оператора и путь до ключевой пары. Адрес оператора сохраняем. На данный адрес запрашиваем tBNB с фасета (чтобы у оператора были деньги на газ).
Запускаем!
docker run --restart on-failure -d --name ursula -p 9151:9151 -v ~/nulink:/code -v ~/nulink:/home/circleci/.local/share/nulink -e NULINK_KEYSTORE_PASSWORD -e NULINK_OPERATOR_ETH_PASSWORD nulink/nulink nulink ursula run --no-block-until-ready
Если все хорошо, увидите длинную строку с ID контейнера. Смотрим логи.
docker logs -f ursula
Логи через 5 минут должны быть вот такими:
Authenticating Ursula Loaded Ursula (horus) ✓ External IP matches configuration Starting services ✓ Node Discovery (Horus) ✓ Work Tracking ✓ Start Operator Bonded Tracker ✓ Rest Server https://8.219.186.125:9151 Working ~ Keep Ursula Online!
Значит наш оператор готов принять стейк!
Отправляемся на дашборд проекта. Сразу скажу сайт очень часто лагает, если что-то неверно отображается/не грузится - обновляем страницу или пробуем через часок-другой. Коннектим наш метамаск (на него также придется запросить с фасета tBNB). Затем с фасета уже на самом сайте проекта (значок кошелька справа вверху) получаем тестовые токены NLK. Они-то и отправятся в стейк.

Получив NLK, нажимаем Stake. Когда транзакция выполнится (не забываем, что сначала будет approve траты токена NLK, и только со второго раза - стейк!), идем в раздел Bond Worker. Вбиваем адрес Оператора, полученный на шаге инициализации контейнера в раздел Worker Address, связываемся с нашей нодой.
После этого шага первое время будет показываться что нода оффлайн. Обновите страницу через некоторое время, ошибка пройдет.
Теперь наш стейк засчитан в ее пользу. Внизу страницы располагаются данные о состоянии вашей ноды (uptime), какую долю составляет ваша ставка, сколько накапало наград. Награды обновляются раз в эпоху, номер эпохи отображается там же. Длительность эпохи - 1 сутки. Любой стейк начинает работать только со следующей эпохи, то есть в день установки ваши токены еще не будут работать, награды начнете получать со следующего дня.
Далее - абузим! Абуз разрешен командой и более того, без него вообще нет смысла в данном тестнете, так как вам нужно попасть в топ нод по аккумулированным наградам. Создаем множество кошельков, на которые получаем тестовые NLK (на один кошелек фасет дает токены лишь один раз), их отправляем на адрес оператора, как только они отобразятся в разделе вашего баланса - отправляем в стейк. Переходим в раздел Quests (их тоже желательно сделать), там коннектим Дискорд, клеймим очки за запущенную ноду, смотрим какие еще есть задания. Там же находим задание на NuLink Agent - веб кошелек проекта. Для одного из квестов нужно его создать, через него же и происходит абуз. Задаем пароль, бэкапим сид фразу, передаем либо с фасета, либо с нашего метамаска немного tBNB на комиссии (хватит даже 0,001 tBNB), клеймим NLK на веб-странице Агента (значок кошелька справа вверху), отправляем на адрес нашего метамаска, затем снова стейкаем. Повторяем до посинения (буквально). Прогресс продвижения отслеживаем в разделе Leaderboards. Помните, решает не совокупный стейк, а совокупные награды за стейк!

По поводу увеличения числа нод - смотрите по вашим возможностям абуза. Поставить 5 нод, которые будут на низких позициях в лидерборде - бесполезно. Лучше иметь одну, но высоко в топе, целимся в топ-1000. На этом все, желаем удачи с данным проектом, вопросы как всегда можно задать в чате нашего канала Investment Hollow.
Если у вас есть аккаунт на CoinList - самое время вспомнить логин и пароль, если нет - самое время сделать и попытаться пройти KYC. Проект будет выходить на этой платформе, так что без готового аккаунта в ICO поучаствовать не получится. Аккаунты также можно купить на OTC. Когда будете готовы, заполните форму на CL по ссылке.
No activity yet