Уважаемые пользователи Голос!
Сайт доступен в режиме «чтение» до сентября 2020 года. Операции с токенами Golos, Cyber можно проводить, используя альтернативные клиенты или через эксплорер Cyberway. Подробности здесь: https://golos.io/@goloscore/operacii-s-tokenami-golos-cyber-1594822432061
С уважением, команда “Голос”
GOLOS
RU
EN
UA
cryptoscope
4 года назад
robonomics

Запуск узла Robonоmics и создание валидатора DAO IPCI парачейна Polkadot

   Блокчейн DAO IPCI использует Nominated Proof-of-Stake в качестве механизма защиты сети на основе выбора пула валидаторов. Данный метод разработан с учетом роли каждого валидатора для обеспечения максимальной безопасности всей сети. Каждый участник, заинтересованный в поддержании сети и располагающий токенами MITO, может запустить свой узел валидатора. При этом общее количество таких узлов ограничено.
Система также предусматривает вознаграждения для владельцев токенов MITO в качестве номинаторов. В общей сложности каждый номинатор может поддерживать до 16 узлов в качестве вероятных кандидатов в валидаторы.

Установка и запуск валидатора происходит в два этапа:

  1. Установка и запуск ПО валидатора на выделенном сервере;
  2. Настройка и подключение валидатора к вашим аккаунтам в сети Polkadot substrate.

*Ниже приведенные действия выполнялись на ПК под управлением Windows 10

Запуск ноды на выделенном сервере

         1.1  Загрузка ПО и запуск сервиса робономики
Для установки и запуска валидатора на выделенном сервере нам понадобиться VPS  с минимальными требованиями - 1CPU/ 1ГБ оперативной памяти/ 20ГБ пространства на жестком диске. Будем считать что вы уже имеете VPS с данными характеристиками c установленной ОС Ubuntu server 18.04 TLS. Для входа на ваш сервер понадобиться оконный менеджер сеансов: приложение Windows GUI, которое позволяет открывать клиент SSH в вкладках. Например, можно использовать Putty или его расширенную версию SuperPutty, который поддерживает SFTP для передачи файлов.
После подключения к серверу, необходимо перейти в раздел суперпользователя:
sudo su - root
и обновить ОС до актуального состояния:
apt-get update -yapt-get upgrade -y

После ввода последней команды появится окно, в котором следует выбрать <Yes> и подтвердить свой выбор.

Поскольку 1ГБ оперативной памяти это минимальное требование, которого может уже в будущем не хватить, нам потребуется создать файл подкачки. Для этого могут быть использованы следующие команды:
fallocate -l 2048M /root/swapfile  - создание 2Gib файла подкачкиsudo chmod 600 /root/swapfile  -  права доступа к файлу sudo mkswap /root/swapfile   - создание самого файла подкачки в директории rootsudo swapon /root/swapfile - активация swap в системеecho '/root/swapfile  none  swap  sw 0  0' >> /etc/fstab эта команда автоматически допишет нужные данные в этот файл.
После этого перегружаем сервер командой reboot или shutdown -r now
Затем переходим по ссылке https://github.com/airalab/robonomics/releasesи загружаем актуальную версию ПО Робономики (на данный момент это robonomics-ubuntu-0.17.1-x86_64.tar.xz)



https://github.com/airalab/robonomics/releases/download/v0.17.1/robonomics-ubuntu-0.17.1-x86_64.tar.xz - ссылка на момент написания данного руководства.
Загружаем архив на сервер
wget https://github.com/airalab/robonomics/releases/download/v0.17.1/robonomics-ubuntu-0.17.1-x86_64.tar.xz
распаковываем в текущей директории
tar -xpJf robonomics-ubuntu-0.17.1-x86_64.tar.xz
и перемещаем бинарный файл robonomics в нужную директорию
mv robonomics  /usr/bin/robonomics
Далее необходимо создать пользователя robonomics
sudo adduser robonomics



Для запуска валидатора, нам понадобится создать соответствующий файл сервиса robonomics_ipci
sudo nano /etc/systemd/system/robonomics_ipci.service
Вставляем туда текст следующего содержания:
[Unit]Description=robonomics serviceAfter=network-online.targetWants=network-online.target
[Service]User=robonomicsGroup=robonomicsType=simpleWorkingDirectory=/home/robonomicsExecStart=/usr/bin/robonomics --chain ipci  --validator --name [имя валидатора](точки в имени НЕ допустимы))Restart=on-failure
[Install]WantedBy=multi-user.target
Сохраняем введенные данные CTRL+O, подтверждаем и выходим из редактора CTRL+X
Далее активируем созданный сервис
sudo systemctl enable robonomics_ipci.service
и запускаем его стандартной командой:
sudo systemctl start robonomics_ipci.service
Затем необходимо проверить, что сервис запущен и работает корректно:
sudo systemctl status robonomics_ipci.service
Если всё сделано правильно, то в результате появится сообщение следующего вида:



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



На изображении выше можно увидеть список работающих валидаторов, а также валидаторов, которые перестали синхронизироваться с сетью (выделены внизу списка серым). При этом видно, что у них количество обработанных блоков не совпадает с текущим. Это может произойти вследствие того, что на сервере необходимо обновить актуальную версию ПО.

            1.2 Обновление ПО валидатора

Для обновления ПО валидатора необходимо:

  1. загрузить архив с последней версией robonomics

wget https://github.com/airalab/robonomics/releases/download/название архива

  1. распаковывать его в текущей директории 

 tar xf robonomics-ubuntu-название архива

  1. остановить сервис

systemctl stop robonomics_ipci.service

  1. удалить старый бинарный файл

rm /usr/bin/robonomics

  1. переместить новый файл в нужную директорию 

mv robonomics /usr/bin/robonomics

  1. снова запустить сервис  

systemctl start robonomics_ipci.service

2. Настройка и подключение валидатора к аккаунтам в сети Polkadot substrate

2.1 Создание аккаунтов

Для создания аккаунтов, необходимо в браузере открыть приложение Polkadot   по следующей ссылке: https://polkadot.js.org

Далее нужно изменить сервер по умолчанию Kusama  на сервер DAO IPCI. Для этого нажимаем на иконку в верхнем левом углу (как показано на изображении)


В открывшемся окне перевести ползунок вправо и изменить адрес сервера на wss://substrate.ipci.io


По окончании подтвердить и сохранить введенные данные
В результате страница браузера перезагрузится и произойдёт подключение к сети DAO IPCI.


Для запуска валидатора, необходимо перейти в раздел Accounts и создать два аккаунта: STASH и CONTROLLER


После нажатия на кнопку +Add account   появится окно, в котором нужно ввести имя и пароль вашего аккаунта STASH.Сохраняем seed фразу, вводим пароль, подтверждаем и сохраняем введенные данные. На следующем этапе вам будет предложено сохранить .json файл, содержащий данные для восстановления вашего аккаунта. Сохраняем его в безопасное место.Затем точно так же создаем аккаунт CONTROLLER. В результате вы увидите в списке два аккаунта:


Далее нужно пополнить аккаунт STASH токенами MITO, которые в дальнейшем будут использоваться для создания валидатора.Как перевести токены MITO из Genesis Block (для тех, кто участвовал в ICO компании AIRA и получил токены MITO в виде AirDrop), описано в прил. 1.
Для дальнейших операций вам также надо будет пополнить на 1-2 MITO (для оплаты комиссий) аккаунт CONTROLLER. Это можно сделать переведя их с аккаунта STASH (на момент написания данного материала комиссия за перевод MITO составила 0,051 MITO). Следует отметить, что для перевода дробных частей MITO, необходимо выбирать единицы с десятичными приставками. Например, для перевода  0,5 MITO из выпадающего списка необходимо выбрать milli и в ячейку суммы ввести 500. 


2.2 Подключение через локальный узел

Подключение через локальный узел 

  1. Вводим команду ssh -L 9944:localhost:9944 root@IP сервера и нажимаем 

На экране должно отобразиться подключение к серверу. Затем подтверждаем вход.
Если все сделано правильно, то в терминале отобразится подключение к серверу

  1. Возвращаемся в приложение https://polkadot.js.org/apps/#/accounts и выбираем   Local Node (Own, 127.0.0.1:9944).

Подтверждаем выбор (Save) и ждем когда страница перезагрузится.

2.3 Создание и запуск валидатора

  1. Переходим в раздел Toolbox и генерируем ключ.

Затем нужно нажать  Submit RPCcall  и скопировать полученный ключ.



  1. В разделе Staking, вкладка Account actions  нажмите на кнопку New stake. Откроется окно с вашими адресами:
  2. Нажмите на кнопку Session key и в открывшееся окно введите ранее скопированный ключ.

Вводим в поле количество MITO для участия в процессе валидации, а также здесь можно выбрать аккаунт на который будут поступать вознаграждения за работу валидатора (в последующем эти настройки можно изменить) и нажимаем кнопку Bond, в следующем окне он вероятно попросит вас подтвердить операцию паролем от аккаунта, вводим пароль и подтверждаем.



После подтверждения, в следующем окне введите пароль от вашего аккаунта с которым вы работаете ( например CONTROLLER).Если все сделано верно, то должны увидеть:

  1. При нажатии на кнопку Validate, откроется окно с установками параметров валидатора:

В поле reward commission percentage необходимо указать % вознаграждения, которая остаётся у валидатора. Оставшаяся часть будет распределена между номинаторами, которые выбрали вас в качестве валидатора.
Нажмите Validate и подтвердите транзакцию:



Затем появиться окно с вводом пароля, если этого не произошло, то вероятно вы на следующем этапе получите ошибку:
В этом случае необходимо повторить шаги начиная с п.4
Если все сделано верно, то результат будет следующий:


Теперь можно закрыть командную строку на вашем ПК, отключившись от удалённого сервера.Вы увидите на экране ошибку подключения к локальной ноде:Для переподключения потребуется изменить сеть на DAO IPCI. Теперь вам следует подождать “Новую Эпоху” в которой ваш Валидатор уже включится в работу.Список активных валидаторов доступен во вкладке Staking overview раздела Staking.2.4 Настройки валидатора



Во вкладке Account actions доступна возможность изменять настройки вашего валидатора:  Bond more fund - позволяет добавить средства на ваш аккаунт валидатора ( после добавления средства будут заморожены на аккаунте).         Unbond funds - вывод средств с аккаунта валидатораChange reward destionation - выбор аккаунта для выплаты вознаграждений (STASH или CONTR). При этом для аккаунта STASH доступны 2 опции:

  • increase the amount at stake - если выбрать эту опцию, то при выводе вознаграждений, они автоматически будут зачисляться на аккаунт валидатора и замораживаться (на 46 дней).
  • do not increase the amount at stake - если выбрать эту опцию то реварды будут зачисляться просто на баланс аккаунта STASH.
               Здесь вероятно стоит уточнить, что несмотря на то, что ваш аккаунт валидатора и ваш аккаунт STASH это один и тот же аккаунт, по факту баланс на нем находится в двух  видах: баланс валидатора (изначально полностью заморожен и не доступен к выводу) и свободный баланс, которым можно пополнять баланс валидатора или просто перевести на другой аккаунт.

Change validator preferences - указывается размер комиссии которую вы забираете себе от общего заработка вашего валидатора. Чем выше процент, тем больше вы забираете себе от получаемой награды. Общий доход валидатора складывается из собственного дохода (зависит от размера депозита) и от дохода номинаторов. Если вы поставите значение равное 100 (%) то весь заработанный доход вы будете оставлять себе. Если поставите 0 (%) то весь получаемый доход будет делиться пропорционально между вашими номинаторами.
Change session keys и Inject session keys (advanced) - эти две настройки позволяют изменить rotate keys (связку ключей ноды).


3.2 Выплаты валидатору


Для инициации выплаты валидатору необходимо в разделе Staking перейти на вкладку Payouts  и нажать на одну из двух кнопок %Payout all или %Payout. %Payout all инициирует выплату сразу всем валидаторам и номинаторам (при этом все транзакции будут объединены в одну).И в том и в другом случае порядок проведения выплат един. После нажатия на кнопку %Payout all или %Payout откроется окно вида:


Здесь можно выбрать аккаунт с которого будет списана комиссия (аккаунт поселяющий транзакцию в сеть) на оплату транзакции по переводу вашей выплаты.На следующем этапе нужно будет ввести пароль от вашего аккаунта с которого оплачивается комиссия и сделать подтверждение. После этого выплаты будут переведены на ваш аккаунт и аккаунты ваших номинаторов.

Приложение 1


Работа с Substrate Subkey для перевода MITO c Genesis Block


Актуально для тех кто участвовал в ICO компании Airalab и получил токены MITO в виде AirDrop.
Для перевода токенов MITO из Genesis Block на ваш аккаунт, используется утилита Subkey и приватный ключ адреса ETH.1. Скачиваем утилиту Subkey со страницы Airalab сайта Github.Идем в раздел releases находим и скачиваем актуальную версию утилиты Subkey.https://github.com/airalab/robonomics/releases
2. Открываем терминал (командную строку) и переходим в папку, куда вы разархивировали утилиту.Например, для перехода в указанную папку на диске D, нужно ввести команду:
cd /D D:\путь к вашему файлу



Запускаем subkey с ключем -k с командой inspect, после которой через пробел надо вписать 0x и ставить ваш приватный ключ:
subkey -k inspect 0xВаш приватный ключ
После проверки и подтверждения, вывод команды будет иметь следующий вид:

Здесь необходимо скопировать SS58 Address.

3. В разделе Accounts (вкладка My contacts) нажимаем на кнопку Add contact и добавляем SS58 Address.



Если ваш аккаунт попал в Genesis Block и на его балансе есть начисленные MITO то вы увидите положительный баланс этого адреса. Следует иметь ввиду, что в изначальная размерность Genesis Block составляет 12 нулей после запятой. Т.о. если вы видите на балансе 10 MITO, это значит, что в Json файле Genesis Block баланс будет указан как 10000000000000. Если у вас не целое число, а допустим 55,55 MITO, то это число будет выглядеть как 5555 и 10 нулей (55550000000000) ну и т.п. Это важно, т.к. при переводе с Genesis Block мы будем указывать число именно в таком виде.
Для копирования адреса достаточно щелкнуть мышкой на его пиктограмму  и адрес будет скопирован.

4. Возвращаемся в командную строку и вводим команду:


subkey -k transfer Ключ Адрес 345000000000000 

где: Ключ - ваш приватный ключ, который использовали ранее для проверки баланса Genesis Block;Адрес - адрес аккаунта, куда будет производится перевод.Комиссия на момент написания данного материала оставляла 0,051 MITO.0 - энонс (увеличивается на 1 с каждой транзакцией. т.е. если транзакций не было то это 0, если была одна то ставить 1  и т.д.). Поскольку мы делаем перевод в первый раз, то ставим цифру ноль.При нажатии Enter  у вас сгенерируется транзакция вида:Using a genesis hash of 737……….3f840x……….01 где 0x……….01 является Extrinsic, который нам и нужен.


5. Возвращаемся на страницу сайта Polkadot идем в раздел Toolbox вкладка RPC calls в поле extrinsic: Extrinsic вставляем наш скопированный Extrinsic и подтверждаем кнопкой Submit RPC call.





robonomicspolkadot
133
0.004 GOLOS
Комментарии (0)
Сортировать по:
Сначала старые