1️⃣ Ноды
May 10, 2022

Установка ноды Masa Finance (НЕАКТУАЛЬНО - ТЕСТНЕТ ПЕРЕНЕСЕН НА 2023)


  1. Описание проекта
  2. Автоматическая установка
  3. Регистрация ноды
  4. Сохранение ключа nodekey
  5. Перенос ноды на новый сервер
  6. Удаление ноды

Описание проекта

Masa — это протокол децентрализованного кредитования, который позволяет физическим и юридическим лицам преодолеть разрыв между CeFi и DeFi для доступа к децентрализованным займам 🌽

Проект получил $3.5M предварительного финансирования. Пишут что нода вознаграждаемая и насыпят в токенах $CORN, который еще не торгуется.

Вознаграждения: вознаграждаемая нода в виде токенов $CORN

Требования к серверу:

  • CPU - 4+ ядра;
  • RAM - 6+ Gb;
  • SSD - 80+ Gb;
  • Ubuntu 20.04.

Текущая фаза - ожидание запуска 3-ей фазы вознаграждаемого тестнета (ПЕРЕНЕСЕНО НА 2023 ГОД)

Автоматическая установка

Подключаемся к серверу через Putty или MobaXterm, после чего приступаем к установке.

Запускаем автоматический скрипт Masa:

wget -q -O masa.sh https://nodes.wenmoney.io/masa.sh && chmod +x masa.sh && sudo /bin/bash masa.sh

В скрипте после установки будут указаны дальнейшие действия - выполняем их (нужно будет добавить пиров соответствующими командами):

Запуск GETH:

sudo docker exec -it masa-node-v10_masa-node_1 geth attach /qdata/dd/geth.ipc

Добавление пира (вместо BOOTNODE вводите пир):

admin.addPeer('BOOTNODE')

Часть пиров можно добавить отсюда: https://docs.google.com/spreadsheets/d/10i_9yIf15bDKUACAvEwJAu66tw-ZiXJPH08TaoL1qac/edit#gid=1264881235

Если не помогает - идете в Дискорд и ищите там свежие пиры

После добавления пиров чекаем командой (также в GETH-консоли):

net.peerCount

Если это значение больше 1, то нода начнет синхронизацию с сетью.

Проверить статус синхронизации (false - нода либо синхронизиривалась, либо еще не начинала синхронизацию):

eth.syncing

Просмотр информации о состоянии ноды (параметр difficulty должен быть больше 1):

admin.nodeInfo

Выйти из GETH-консоли:

exit

Остановка ноды (при остановке ноды все пиры удаляются!):

cd ~/masa-node-v1.0
docker-compose down

Запуск ноды:

cd ~/masa-node-v1.0
PRIVATE_CONFIG=ignore docker-compose up -d

Работоспособность ноды проверяется через состояние ноды (важно чтобы difficulty был больше 1), а также через количество подключенных пиров (net.peerCount).

Регистрация ноды

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

После регистрации проходим в раздел Node Operators и вводим там EnodeID своей ноды, которая добывается на сервере так (НЕ в geth-консоли):

sudo docker exec -it masa-node-v10_masa-node_1 geth attach /qdata/dd/geth.ipc --exec web3.admin.nodeInfo |grep enode | sed {s/127\.0\.0\.1/`curl -s 2ip.ru`/} | sed "s/^.*\"\(.*\)\".*$/\1/"

Полученное значение вставляем на сайте в поле и нажимаем Register, после чего получим успешное уведомление что нода зарегистрирована.

На скриншоте у меня нода была зарегистрирована еще на 1 этапе тестнета, поэтому отображаются награда за этот этап.

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

Также важно - награды за 2 этап пока не отображаются.

Также команда официально подтвердила, что можно регистрировать несколько нод на 1 личный кабинет.

Сохранение ключа nodekey

Ключ от нашей ноды nodekey находится в директории /var/lib/docker/volumes/masa-node-v10_vol1/_data/dd/geth/

Поэтому необходимо открыть файл через nano и сохранить ключ себе в блокнот (в будущем - вставить в этот же файл при начале работы следующей фазы):

nano /var/lib/docker/volumes/masa-node-v10_vol1/_data/dd/geth/nodekey

Перенос ноды на новый сервер

Для переноса ноды на другой сервер нам понадобится забрать файл ключа nodekey из директории /var/lib/docker/volumes/masa-node-v10_vol1/_data/dd/geth/ и перенести на новый сервер по тому же самому пути.

Первоначально нам необходимо установить на новый сервер ноду и запустить ее дабы проверить корректность работы.

Теперь переходим на старый сервер и копируем ключ через scp командой (там заменяете данные на свои):

scp /var/lib/docker/volumes/masa-node-v10_vol1/_data/dd/geth/nodekey root@NEW_SERVER_IP:/var/lib/docker/volumes/masa-node-v10_vol1/_data/dd/geth/nodekey

То есть заменяем только NEW_SERVER_IP на IP-адрес нового сервера. После ввода команды система попросит подтверждение, вводим yes и затем пароль от нового сервера. Далее должно быть копирование ключа на новый сервер:

Если все так, то ок

Чтобы изменения на новом сервере вступили в силу, необходимо перезапустить ноду:

cd ~/masa-node-v1.0 && docker-compose down && PRIVATE_CONFIG=ignore docker-compose up -d

По ключу все.

Но так как IP сервера изменился, то необходимо на всякий случай еще раз зарегистрировать свою ноду.

Удаление ноды

Перед удалением ноды не забудьте сохранить свой ключ nodekey. Сначала стопам ноду:

cd ~/masa-node-v1.0 && docker-compose down

Затем смотрим контейнеры с Masa:

sudo docker ps -a

Если остались контейнеры с masa, то их необходимо остановить и удалить вручную
<container-id> заменить на идентификатор текущего контейнера:

sudo docker stop <container-id>
sudo docker rm <container-id>

Удаление файлов ноды:

cd ~ 
rm -rf ~/masa-node-v1.0 
sudo docker volume rm masa-node-v10_vol1

Не забывайте ставить свои 👍


Есть вопросы или не работает нода после установки? Задавайте их в нашем телеграмм-канале Wen Money:[NODES]. Пишем только по делу.