Всем привет!
Для сомневающихся - справятся ли они с установкой ноды команда для сборки и установки/обновления ноды из исходников на своем сервере под ubuntu >= 16.04:
curl -o- -L https://github.com/ruslansalikhov/golosbootstrap/releases/download/0.1.7/golosbootstrap.sh | env GOLOS_BRANCH=tags/v0.14.2 bash
После успешного выполнения нодой можно будет управлять через systemctl:
systemctl <start|stop|status> golosd
Сама нода разворачивается в /opt/golos и работает из под пользователя golos. Логи пишутся в syslog с меткой golosd.
Гитхаб репозиторий на исходники скрипта (сам он собирается из составных частей) - https://github.com/ruslansalikhov/golosbootstrap.
Шаги работы скрипта:
- Проверка система
- Распаковка пред подготовленных файлов для сборки deb пакета
- Установка недостающих пакетов для сборки
- Скачивание исходников golos с гита
- Сборка golos из исходников
- Создание deb пакета
- Установка / обновление пакета golos в система
- Удаление мусора
Планирую использовать его для себя, для обновления ноды. Если пригодится кому еще - отлично. И буду буду рад комментариям.
Видео демонстрация работы (чистый дроплет DigitalOcean - 16 GB Memory / 160 GB Disk / NYC3 - Ubuntu 16.04.1 x64):
UPD: Обновил ссылки на скрипт и ссылку на демонстрацию. Теперь скрипт больше информации показывает во время длительных операций. И видео демка теперь "как есть" записана.
UPD2: Обновил ссылки на скрипт. Поднял версию и явно указываю какую версию ноды собирать. Если со временем отвалится - смотрите актуальную команду запуска здесь - https://github.com/ruslansalikhov/golosbootstrap.
По аналогии для стима
https://github.com/ruslansalikhov/steembootstrap
Не хило так, для установки надо более 4 Гб оперативки, а полноценной работы ноды надо не менее 16 Гб :)
Не у каждой бабули есть такой сервер :)
8 гб работает свободно)) Пока что..
16 на самом деле это более чем. Не нашел точных данных. Текущая версия выедает сейчас всего ~2гб. Но на сколько знаю - дальше будет есть больше.
Если стоит выставить другие настройки - поправлю.
А подскажите, нода обязательно должна участвовать в делегатстве? Имеет ли смысл её развертывать, если делегатом быть не хочешь, и зачем она тогда будет нужна?
Можно поднять Seed - ноду, которая будем помогать другим пользователям синхронизировать блокчейн...можно настроить POW майнинг, но это не особо эффективно.
Зато полезно если Вы планируете запустить какой либо сервис, использующий блокчейн Голоса и обращаться к нему напрямую.
Если нет никаких идей как ее использовать, то только для улучшения/увеличения сети в целом.
Обновил юбунту, долго молотила инсталляция но... (
@ruslan, имею такой результат.
Что то подскажите?
http://pastebin.com/gZrsm6sQ
Сорри, не заметил сообщения. Похоже из за буст. Вечером проверю, напишу. Лучше связываться со мной через rocket chat.
КОШЕРНО!!! 100% ХАЛЯЛЬ
Спасибо Руслану за очень нужную штуку...теперь ноду точно сможет поднять любая бабуля=)
P.S. протестировано - работает как часы
я бабуля) нужно vps реанимировать срочно как то после этого Zcash
Спасибо, всё получилось, сервер cloudatcost =)
Всё ок, благодарю товарищи!! В строю, так сказать ;)
Шикарная идея, осталось только до идела довести! У меня на трех машинах отказалось собираться — вылетает после ./configure при старте компилятора.
UPD: О, а я оказывается и не одинок.
Вы можете попробовать?
curl -o- -L https://github.com/ruslansalikhov/golosbootstrap/releases/download/0.1.5/golosbootstrap.sh | bash
Там была проблема с языком. По идее - если проблема та же, то он должен был не дойти до этого шага. Сегодня, чуть позже, обновлю скрипт, где буду выводить на экран все что происходит. Грязный вывод будет. Но зато отладить будет легче.
Если будет возможность потом запустить и проверить - буду благодарен.
(
Или здесь можете скинуть
tail -n 100 /tmp/golosbootstrap.log
Добавлю в скрипт в случае ошибки - выводить лог.
В этот раз не прошла компиляция. +
>log
записывает только стандартный вывод. Но не ошибки.2>&1 >/tmp/log
нужно было так добавить...Пока видно что ошибки уже снова при компиляции.
Снова спрошу - Вы есть в rocket или telegram? Если в рокет чате я "ruslan" в тг - "ruslansalikhov"
Лог файла теперь нет. Но можете тогда запустить скрипт и оборвать процесс. когда начнется сборка. Могу предположить что не хватает утилит. Поэтому мне нужен лог с самого начала. И я исправлю.
Лог : http://pastebin.com/ef3bhh3N
http://pastebin.com/Pk2mQ4Tc это с экрана. После завершения кину лог выгруженный через "> golos.log"
А можно весь файл? И можете запустить последнюю версию -
curl -o- -L https://github.com/ruslansalikhov/golosbootstrap/releases/download/0.1.5/golosbootstrap.sh | bash
И Спасибо за фидбек.
Лог не сохранился почему то, а на экране осталось не много.
Пробую предложенный вариант установки.
Везет Вам. boost 1.61 не поддерживается голосом (как и стимом). Максимальная версия 1.60.
Здесь или самостоятельно фиксить. Или откатить буст (или убунту).
Вот цитата со стима:
UPD: Но, у меня собралось с бустом 1.61.. Не понятно)))
После sudo apt-get install libboost1.61
Продвинулся до конца, но Голос так и не встал (не вижу его в opt), хотя впечатление что установка прошла успешно, даже файла лога не осталось в папке tmp.
Вот концовка инсталляции, может что то подскажет вам.
http://pastebin.com/6HvmS2Z7
Не проверял. Но не должно.
(проверю на всякий, позже чуть)
Скрипт (да и похоже сама система сборки) требует ubuntu >= 16.04.
16.10 хуже не будет?
У Вас убунту < 16.04?
Нужно сначала систему обновить. Или хотя бы boost. Правда тогда не будет работать голос как сервис. В 14.04 (14.10) вроде нет было systemd.
Ubuntu 14.04, Kernel: 4.2.0-27-generic (x86_64), Compiler: GCC 4.8
отстану от вас пока не обновлю
Есть тг или рокет чат? Решим там оперативнее.
Потом все проблемы исправлю в скрипте.
Экспериментирую.
Но не очень успешно пока.
Спасибо.
Понял. Вечером постараюсь исправить. Проблема в том, что на-русском система.
Впечатление что
phymem=$(free|awk '/^Mem:/{print $2}')
получает 0
Выше написал причину.
Можете перед скриптом выполнить
export LC_ALL=en_US.UTF-8
Спасибо, помогло. Начал загружаться, прошел тест памяти.
Еще момент заметил - плохая идея поднимать на не портах по-умолчанию. cli хочет localhost:8090 - а я в конфиге поставил 8080.
Если что правьте вручную. Соберу фидбеков исправлю разом. Думал еще поднимать nginx, получать сертификаты letsencrypt.. Но посмотрим..
Обновил пост.
Теперь скрипт больше информации показывает во время длительных операций. И видео демка теперь "как есть" записана.
@ruslan зайди в РокетЧат
А у меня не летает...
Чистая нода 8 GB, DigitalOcean, Ubuntu 16.04
Пробовал раза 3. Ждал по 2 часа. Потом обрубал. Каждый раз молчок на шаге
Compiling
В видео я подредактировал скорость, иначе не интересно будет смотреть на этот процесс минут 20. Думал над тем как бы показывать прогресс. Показывать просто индикатор, что идет работа - не очень интересно.
В принципе вывод make'а показывает процент - можно прицепиться к нему. Попробую как либо исправить. Если что сам я цепляюсь -
tail -f /tmp/golosbootstrap.log
чтобы смотреть.ps
тестировал как раз на такой ноде (8gb, DO, ubuntu 16.04.x)
UPD: У меня этот шаг занял - 1162 секунд.
Отредактировал пост и видео демку. Теперь показывает процесс как есть.
А сам скрипт теперь больше показывает пользователю. Но момент что показывать и каким образом еще прорабатываю. Собираю фидбеки.
Приветствую Вас на платформе Голос!
Я бот @radogost и меня создали для того, чтобы приветствовать новичков и
помогать им осваиваться на просторах Голоса.
Если вы ещё мало знаете о платформе Голос, то рекомендую ознакомиться со
следующими материалами:
Основы оформления постов на Голосе + полный курс по работе с Markdown
Что такое токены Голос, Сила Голоса и Золотой Видео
Я здесь впервые
Как пользоваться платформой Голос?
Вознаграждение на Голосе: кому и сколько
Как создать пост на платформе Голос?
Если у вас есть конкретные вопросы, то можете задать их в комментарии к этому сообщению и я Вам обязательно отвечу.
так а под ней как залогиниться и майнить??? или она в режиме обозревателя?
Режим обозревателя. Дальше уже руками.
sudo systemctl stop golosd
sudo vim /opt/golos/witness_node_data_dir/config.ini
sudo systemctl start golosd
а можно подробнее где чего подставлять и откуда брать?
опять же, она может автоматом зарегать юзера указанного?
Здесь хорошее описани
https://golos.id/ru--golos/@xtar/registraciya-witness-a-v-golose-video-hd
А у меня в планах (которые правда могут никогда не осуществиться). Развить идею скрипта по развертыванию сид-ноды в нечто больше. Например интерактивный скрипт, который поможет работать с нодой дальше. Настроить витнес, публикацию фидов и т.п.
спс большое, творческих успехов!)
Очень полезная штука! Спасибо за код! :)
Не за что. Будут замечания или предложения по идеям из скрипта - буду рад. Если идея с пакетом, сервисом systemd полезна (правильна), то можно их (contrib/debian например) - предложить в репозитарий голоса. И не только debian, а так же написать для других популярных систем.
На ноуте не хватило оперативки(((( нищебродство нна((( но скоро оно кончится
Меньше 4гб? Специально ограничил, думаю ниже особо смысла запускать нет. Хотя если есть данные по минимуму - могу исправить.
!!!!!!!!!!!!!!!!!