Решил пожертвовать личными интересами ради общественных -- раскрыть все секреты майнинга и делегатства ради более устойчивой работы системы. Больше вы этого нигде не найдете, по крайней мере на русском языке. Все недоговаривают, ведь если всем все рассказать -- то сам намайнишь меньше!!!
Кстати, это очередная серия статей для софто-девелоперов и голософилов. Вам могут быть интересны предыдущие серии:
- Изучаем кишки golos.io: вечер 1
- Изучаем кишки golos.io 2: Регистрация в обход сайта
- Изучаем кишки golos.io 3: JS-версия без min и CLI-кошелек
- Изучаем кишки golos.io 4: скомпиленные бинарники golosd и cli_wallet для Ubuntu 16.0.4
- Изучаем кишки golos.io 5: разоблачение заговора наших майнеров и программистов + анонимная регистрация в golos
- Изучаем кишки golos.io 6: ответы на вопросы из 1 части, которые я поставил как цель
Посмотрите результат, моя нода генерит 8 блоков PoW и 8 блоков Witnessed в день, начиная с 15 июня, когда начался эксперимент.
Хотите тоже так? Сейчас расскажу как это сделать, не затратив при этом ни копейки! Усаживайтесь поудобнее и слушайте.
Немного лирики
Эти знания достались мне не бесплатно. Потратил уйму времени, перечитал все что мог найти как на русском, так и на английском.
Конечно, после всего этого не захотелось ни с кем делиться информацией и раскрывать все секреты.
Это своего рода экзамен для меня: что ты предпочтешь на практике, личные интересы или общественные. И для меня это реально не просто, не хотелось открывать карты, как и многим кто смог разобраться.
Но ведь от делегатства и майнерства зависит стабильная работа системы, поэтому для всех выгодна прозрачность и открытость информации.
Итак, сначала проблемы делегатства
Делегатом я зарегистрировался еще до написания 3 статьи. Поднял сервер, настроил ноду делегата. За меня проголосовало несколько человек, и я даже занял место в таблице делегатов.
Но больше ничего не происходило! Несколько дней я ждал пока в таблице появится номер моего софта и последний блок (последние 2 колонки), но там было пусто, как сейчас у таких делегатов:
Видите, я не один столкнулся с проблемами, ведь до сих пор есть люди, которые не смогли все настроить! Теперь все карты будут раскрыты, настроить смогут все!
А еще меня смутило то что система подсвечивает ошибку в GBG Price, GOLOS, у меня было 0. Как сейчас у таких делегатов:
- @misiano
- @die.hard
- @colberge
- @batman
- @deserteagle
- @penguin
- @polarbear
- @kushed
- @honey
- @delegate.lafona
- @field
- @wanker
- @gfunk
- @snil
- @amd
То есть разобрались далеко не все и не удивительно, ведь простой инструкции нет!
Как стать делегатом?
Чтобы зарегистрироваться в качестве делегата, нужно сделать аж 4 непростых шага:
- Настроить ноду (об этом ниже).
- Зарегистрировать делегата командой update_witness в cli_wallet, используя ключ, полученный командой suggest_brain_key.
- Постоянно обновлять цены командой publish_feed в cli_wallet (есть готовый скрипт).
- Потом уже можно приглашать голосовать за вас тут!
Теперь детально.
Шаг 1. Настройка ноды делегата
Сначала возьмите готовые бинарники golosd для Ubuntu и установите в 5 шагов. Произведите настройки, как описано в той же статье.
В cli_wallet введите команду suggest_brain_key и сохраните полученные ключи (надежно сохраните!). Приватный ключ пропишите в файле конфигурации ноды делегата.
Вот реально работающий конфигурационный файл ноды делегата:
https://pastebin.com/7WQhTqPe
Вам нужно изменить 2 строчки:
1. В witness = "orator" ваш логин.
2. В private-key = 5K6...................................... указать ваш ключ, полученный с suggest_brain_key
Важно! Убедитесь что seed-node указаны как минимум 4 и все они рабочие (при попытке открыть в браузере, должно вернуть ошибку ERR_INVALID_HTTP_RESPONSE)! Взять еще нод можно тут в ответе на первый вопрос.
Шаг 2. Регистрация
Вот такой командой это делается
update_witness "orator" "https://golos.io/@orator" "GLS8aGFQyTfy3HyWRCgXLb5x8wL98yU49vnDBxyZJ4orM3vGfGfwi" {"account_creation_fee":"3.000 GOLOS","maximum_block_size":65536,"sbd_interest_rate":1000,"fee":"1.000 GBG"} true
Обратите внимание, указывается открытый ключ, который вы получили командой suggest_brain_key и приватную часть которого прописали в конфиге!
Шаг 3. Установка цен
Ответственность за курс GBG/GOLOS возлагается на делегатов. Делается такой командой:
publish_feed "orator" {"base":"1.000 GBG","quote":" 0.290 GOLOS"} true
Есть готовый скрипт.
Шаг 4. Приглашайте за вас голосовать!
Чтобы пробраться в список козырных делегатов, коих всего 19, просите других пользователей поддержать вас. Эти 19 получают большую часть всех плюшек!
Я тоже приглашаю проголосовать за меня, но не с целью попадания в TOP 19, а с целью эксперимента, чтобы описать вам как это скажется на количестве утвержденных мной блоков.
Итак, вводите тут в самом низу мой ник orator (в таблице меня пока нет) и позже расскажу, как это повлияло на количество Witnessed-блоков.
Почему мой делегат не генерит Witnessed-блоки?
А вот теперь самое вкусное!
Вы проделали все 4 шага и... и ничего. В таблице у вас будет почти все хорошо, кроме последних 2 колонок! Там будут нули!!! А так же ни одного блока вы не сгенерите, даже спустя несколько дней!
Почему? Что не так?
В свое время я тоже озадачился этим вопросом.
Сначала посмотрел на список тех, кто же все-таки генерит эти Witnessed-блоки. Вводим такой SQL-запрос:
SELECT DISTINCT [witness], COUNT(1) as Cnt FROM Blocks WHERE [timestamp] > '2017-06-17 05:25:15.950' AND [timestamp] < '2017-06-18 05:25:15.950' GROUP BY [witness] ORDER BY Cnt
И имеем такой результат:
- boatymcboatface=4
- ntv=4
- nugos=4
- noob=6
- itsmine-61=7
- monroe=7
- d00m=7
- itsmine-84=7
- memory=7
- niva=7
- milana=7
- itsmine-83=7
- itsmine-47=7
- chemistry=7
- expert=7
- mvd=7
- danet=7
- itsmine-63=7
- itsmine-62=7
- itsmine-48=7
- fr0zen=7
- itsmine-12=7
- itsmine-86=7
- itsmine-13=7
- mastercard=7
- flatron=7
- hoover=7
- ded.moroz=7
- itsmine-49=7
- formulatrix=7
- itsmine-82=7
- forex=7
- itsmine-85=7
- dating=7
- gandalf=7
- danila=7
- itsmine-60=7
- massa=7
- matrix=7
- ford=7
- itsmine-71=8
- l33t=8
- inbox=8
- fukusima=8
- itsmine-07=8
- gazeta=8
- itsmine-27=8
- kulinarik=8
- itsmine-40=8
- itsmine-10=8
- itsmine-33=8
- itsmine-96=8
- itsmine-91=8
- minoga=8
- itsmine-56=8
- itsmine-99=8
- itsmine-53=8
- gorod=8
- bush=8
- itsmine-94=8
- itsmine-58=8
- itsmine-05=8
- itsmine-20=8
- itsmine-02=8
- itsmine-79=8
- itsmine-98=8
- freelance=8
- itsmine-17=8
- itsmine-74=8
- itsmine-44=8
- itsmine-52=8
- itsmine-41=8
- itsmine-78=8
- itsmine-55=8
- itsmine-75=8
- murmolka=8
- itsmine-67=8
- lenin=8
- golosboard=8
- itsmine-37=8
- kazak=8
- iddqd=8
- xeldal=8
- itsmine-06=8
- itsmine-89=8
- jackson=8
- itsmine-04=8
- itsmine-81=8
- classic=8
- itsmine-26=8
- bigler=8
- itsmine-72=8
- itsmine-30=8
- itsmine-18=8
- mantis=8
- itsmine-32=8
- itsmine-00=8
- kakvse=8
- itsmine-73=8
- itsmine-43=8
- itsmine-65=8
- itsmine-15=8
- minolta=8
- itsmine-87=8
- amd=8
- itsmine-35=8
- itsmine-21=8
- grant=8
- itsmine-24=8
- itsmine-29=8
- itsmine-93=8
- barbarian=8
- itsmine-76=8
- itsmine-46=8
- itsmine-80=8
- chevelle=8
- larsen=8
- chevron=8
- itsmine-45=8
- cre8r=8
- orator=8
- m31=8
- itsmine-51=8
- itsmine-66=8
- itsmine=8
- itsmine-88=8
- itsmine-90=8
- itsmine-16=8
- itsmine-36=8
- leningrad=8
- itsmine-59=8
- itsmine-77=8
- itsmine-69=8
- itsmine-19=8
- itsmine-39=8
- itsmine-54=8
- itsmine-31=8
- itsmine-97=8
- itsmine-11=8
- itsmine-08=8
- alice=8
- fuckyou=8
- itsmine-95=8
- itsmine-03=8
- itsmine-42=8
- itsmine-68=8
- itsmine-38=8
- itsmine-70=8
- itsmine-34=8
- itsmine-22=8
- itsmine-64=8
- itsmine-25=8
- itsmine-28=8
- itsmine-50=8
- itsmine-23=8
- itsmine-01=8
- itsmine-09=8
- idiod=8
- knecht33=8
- itsmine-92=8
- hutzpa=8
- itsmine-57=8
- itsmine-14=9
- koresh=9
- july=9
- gtg=10
- colberge=13
- ropox=13
- die.hard=14
- deserteagle=15
- batman=15
- steem-id=17
- misiano=21
- an0nym0us=21
- cheetah=26
- steemychicken1=28
- aizensou=28
- anasya=30
- smooth.witness=39
- qqc=39
- alcotester=41
- kulturagolosa=46
- erikkartmen=47
- dreamer=61
- pmartynov=66
- blockchained=81
- vik=83
- pfunk=84
- dmilash=89
- someguy123=91
- xanoxt=98
- jesta=109
- dr2073=1211
- phenom=1247
- serejandmyself=1248
- creator=1253
- primus=1253
- litvintech=1253
- anyx=1254
- testz=1254
- smailer=1254
- vitaly-lvov=1255
- on0tole=1255
- dark.sun=1255
- kuna=1256
- aleksandraz=1256
- roelandp=1256
- lehard=1258
- arcange=1258
- xtar=1258
- good-karma=1262
Понятно, что "козырные 19" генерят больше всех и тут вопросов нет. Однако мне было не ясно, почему у меня вот уже несколько дней стабильно ноль блоков в день (это в старом запросе, когда я еще не знал секрета), хотя я на 94 месте в списке делегатов, а у некоторых, которые вообще не состоят в таблице делегатов -- по 8 блоков в день и более (см. список).
И оказалось, что они все в списке майнеров! Майнерство дает не только PoW-блок, но и право на Witnessed-блоки.
То есть можно быть просто майнером и генерить только PoW-блоки. А можно просто добавить делегата и даже не будучи в списке, гарантированно получать еще и Witnessed-блоки!!!
Можно ли быть просто делегатом и не быть майнером
Да, можно. Как видно, такие есть. Они генерят только Witnessed-блоки, но у них нет PoW-блоков.
У меня так не получилось, все мои Witnessed-блоки как бы обеспечены PoW-блоками. То есть сначала нужно было намайнить PoW-блок, затем появлялся Witnessed-блок.
Возможно это из-за моего низкого делегатского рейтинга. То есть Witnessed-блоки система распределяет не равномерно, а с учетом рейтинга делегата (ну и количества PoW-блоков). А может нужно сделать как в этой статье, совсем не по правилам: указать ключ делегата в настройках майнера. Нигде больше этого не встречал, но похоже у человека все работает!
И как же стать майнером?
Теперь ясно, что для "простых смертных" (т.е. имеющих низкий делегатский рейтинг) делегатство без майнерства почти лишено смысла.
А вот как стать майнером опишу во второй части, а то скоро жена проснется.
Пока этот вопрос останется вам в качестве домашнего задания, кто сможет разобраться -- тому плюшка. Скажу только, что и в этом вопросе не без хаков.
Есть нюанс, возможно вы не в курсе. Когда вы находите PoW блок, у вас регистрируется аккаунт (если это свежий аккаунт), но награду за блок вы не получаете.
Ваш аккаунт попадает в низ списка очерени майнеров. Сейчас эта очередь довольно большая, прохождение её занимает несколько часов.
И вот, когда вы станете первым в очереди, вам майнинговый аккаунт получит право стать свидетелем и подписать блок. Как только он подпишет блок - вы получите награду.
В этом, как раз причина. что после того, как вы нашли PoW блок на свежем аккаунт вам сервер начинает работать впустую и не находит свежие блоки. На самом деле он просто ждёт, когда аккаунт, нашедший PoW блок, поднимется вверх в очереди и получит право подписать блок.
Т.е. награда всегда генерится только witness блоками. И майнер может попасть в список witness найдя PoW блок.
Спасибо, интересно. Нигде не встречал этой инфы. Я новым аккаунтом пробовал майнить где то часов 12 -- ничего не произошло. Ни одного блока не сгенерилось.
При тех же настройках моим аккаунтом майнится 1 блок в 3 часа.
хех, действительно, queue это ж очередь же.
Прям как за колбасой
Сгенерировал таки второй блок:
И почти сразу же увидел себя в списке майнеров:
Огромное спасибо за статью. Я хоть и не блондинка но можно пару глупых вопросов задам, просто мечтаю то же свою ноду поднять, нахожусь в стадии накопления знаний )) Для ноды достаточно виртуального сервера и какие к нему требования? Если делегат решил еще и майнить, то для майнинга он только данные берет со своей ноды, а весь процесс майнинга происходит на "специализированном" железе? И каковы требования к аппаратной части для майнера ))
Заранее спасибо, и огромное спасибо за статью! )
Да. Для ноды делегата требования не большие. Запускается на 4 Гб ОЗУ (может и меньше можно, не проверял), CPU почти не потребляет.
Но делегат без майнера смысла не имеет, разве что у вас большой делегатский рейтинг.
Для ноды майнера нужны данные второго делегата (не должно совпадать с именем майнера). Подробнее опишу в статье.
Спец. железо не обязательно, пока майнинг не развит.
Для майнера у меня сейчас VDS от DigitalOcean стоимостью $160/мес. Он генерит 8 блоков в сутки. $300 они дают бесплатно на 2 месяца при первой регистрации. Аналогично Google и еще несколько компаний (вопрос к любителям халявы). Т.е. если будете арендовать VDS -- то не выгдно. А если по акции -- то можно побаловаться.
Возможно я тороплю события и все будет в следующей статье, но я представляю себе "архитектуру" так: нода на vps у нормального провайдера, поскольку она должна быть всегда доступна и вообще на общественнополезное дело денег не жалко ) А железо для майнинга – дома. Это жизнеспособная схема? )
Вполне.
@tristamoff
Можно генерить PoW-блоки, но награда, похоже, всегда идет за Witness-блоки, так что смысла нет. Мне еще награды никакой не было, пока точно сказать не могу.
А как можно заниматься только майнингом, без делегатства?
Ваш пост поддержали следующие Инвесторы Сообщества "Добрый кит":
losos, boddhisattva, antino, tristamoff, antonkostroma, dr-boo, alexux, gryph0n, yudina-cat, vika-teplo, borisss, anomalywolf, rimash, gradovskih, mixtura
Поэтому я тоже проголосовал за него!
Узнать подробности о сообществе можно тут:
Разрешите представиться - Кит Добрый
Правила
Инструкция по внесению Инвестиционного взноса
Вы тоже можете стать Инвестором и поддержать проект!!!
Если Вы хотите отказаться от поддержки Доброго Кита, то ответьте на этот комментарий командой "!нехочу"
Так и не смог смайнить больше одного блока на аккаунт)
Кстати, при запуске ноды, Ваши бинарники показывают версию 0.0.0.
Все получится, скоро выложу 2 часть.
У меня показывает 0.16.4, см. таблицу. Это та же самая версия, другой у меня нет.
0.0.0 -- значит Witness-блок не был сгенерирован вообще.
Спасибо за пояснения.
И за очень крутые статьи.
сколько ни читал такие посты: создается впечатление, что майнинг на Голосе для избранных, всем приходится придумывать какие-то костыли, чтобы все работало
Так и есть. Секреты майнинга оформлю во второй части.
@orator Поздравляю! Вы добились некоторого прогресса на Голосе и были награждены следующими новыми бейджами:
Награда за количество голосов
Вы можете нажать на любой бейдж, чтобы увидеть свою страницу на Доске Почета.
Чтобы увидеть больше информации о Доске Почета, нажмите здесь
Если вы больше не хотите получать уведомления, ответьте на этот комментарий словом
стоп
Голосуя за это уведомление, вы помогаете всем пользователям Голоса. Узнайте, как здесь.