[DEPRECATED] Massa | TEST.26.X
⠀Децентрализованная сеть, имеющая пропускную способность 10'000 тр/сек. С сентября по 2 кв. 2022 г. будет проходить оплачиваемая тестовая сеть.
Содержание
Информация о проекте
- Официальный сайт — краткое описание проекта
- Блог — принцип работы блокчейна
- White paper — описание проекта
- Статья о наградах
Описание
⠀Текущие блокчейны, которые масштабируются до высокой пропускной способности транзакций, централизованы, либо небезопасны. Для Massa была разработана новая архитектура под названием Blockclique, которая масштабирует пропускную способность транзакций до 10'000 транзакций в секунду без ущерба для децентрализации и безопасности. Данная архитектура основана на сегментировании транзакций в многопоточном блочном графе.
- Massa сочетает сегментирование транзакций и многопоточную архитектуру блочного графа, поддерживающую параллельные блоки с совместимыми транзакциями;
- Massa распространяет правило консенсуса Накамото на случай параллельных блоков, обеспечивая безопасный и децентрализованный консенсус с использованием Proof-of-Stake;
- Архитектура Blockclique может обрабатывать тысячи транзакций в секунду наравне с традиционными финансовыми системами.
Вопрос-ответ
⠀У названия есть несколько истоков:
- Марсель — город, где познакомились и учились основатели проекта.
- От словосочетания «Массовое внедрение» («Mass adoption») — цель этой децентрализованной валюты.
⠀Современные блокчейн проекты, по сути, отказались от децентрализации, чтобы достичь высокой производительности.
- Создать децентрализованную сеть;
- Достичь скорости 10'000 транзакции в секунду;
- Снизить требования к аппаратному обеспечению нод до уровня среднего настольного компьютера (до 8 CPU, 16 GB RAM и 1 TB HDD), чтобы большое количество людей могло участвовать в жизни сети.
⠀Что касается Solana — это интересный проект, однако у него есть несколько проблем:
- Высокие требования к аппаратному обеспечению нод;
- У команды и основателей проекта сосредоточена больша́я часть токенов, из-за чего коэффициент Накамото (подсчитывает, каким количеством объектов нужно завладеть для успешной атаки на важные элементы сети) около 20, что довольно плохо.
⠀На этапе приватной продажи в проект собрал 5.8М$ от 100 небольших фондов и частных лиц, подробнее в статье. Помимо этого проект получил два гранта от французского правительства на общую сумму около 400 тысяч долларов.
⠀Перед запуском основной сети планируется единственная публичная продажа.
⠀Помимо награждения держателей узлов мы планируем награждать активных членов сообщества, а также запустить амбассадорскую программу.
Фазы
⠀На данном этапе известны следующие фазы:
- Июль 2021 г. — начало сентября 2021 г. — тестовая сеть только запустилася и находится на ранней фазе;
- Сентябрь 2021 г. — 4 квартал 2022 г — оплачиваемая тестовая сеть;
- 4 квартал 2022 г. — запуск основной сети.
Награды
⠀Как обычно никакой точной информации нет. Система будет дальше разрабатываться, в том числе чтобы наградить каждого участника за вклад по заслугам.
⠀Наиболее важные положения из статьи о наградах:
- Тестовая сеть будет делиться на «эпизоды» длиной примерно месяц. При этом будет даваться 3 дня для обновления ноды перед новым периодом (необходимо сделать резервную копию файлов wallet.dat и node_privkey.key). В каждом эпизоде нужно будет заново запрашивать тестовые токены, покупать ROLL’ы. Сделано это для того, чтобы было легче отслеживать достижения всех участников за каждый период.
- Нет необходимости в обладании более, чем 1 ROLL’ом (в оригинальной статьей приведена формула расчёта наград). Соответственно, нет смысла набирать большое количество ROLL’ов в надежде на больший размер награды.
- Будут дополнительные очки за децентрализацию (в географическом расположении IP сервера мало других нод) и за открытие портов (как это сделать описано в гайде) — более подробная информацию и формула находится в статье.
- Во избежании мультиаккаунтов при получении наград (после выхода в основную сеть) необходимым условием будет прохождение KYC. Система прохождения пока неизвестна.
- На награды будет распространяться система вестинга, чтобы избежать огромных продаж.
Требования к серверу
⠀Рекомендации от команды (VPS/VDS/DS):
4 CPU, 8 GB RAM, 100 GB SSD, Ubuntu 20.04
Что устанавливается?
⠀Проект состоит из нескольких приложений:
- Нода — создаёт блоки, запускается сервисным файлом для бесперебойной работы;
- Клиент — позволяет взаимодействовать с кошельком и сетью с помощью различных команд. Запускается при необходимости во время работающей ноды.
Запуск
⠀Каждый подраздел — отдельный вид запуска, нужно выбрать один из них:
Linux (ручной)
sudo apt update && sudo apt upgrade -y
⠀Установить необходимые пакеты
sudo apt install wget jq git build-essential pkg-config libssl-dev -y
⠀Скачать и распаковать бинарные файлы
massa_version=`wget -qO- https://api.github.com/repos/massalabs/massa/releases/latest | jq -r ".tag_name"`; \ wget -qO $HOME/massa.tar.gz "https://github.com/massalabs/massa/releases/download/${massa_version}/massa_${massa_version}_release_linux.tar.gz"; \ tar -xvf $HOME/massa.tar.gz; \ rm -rf $HOME/massa.tar.gz
⠀Сделать бинарные файлы исполняемыми
chmod +x $HOME/massa/massa-node/massa-node \ $HOME/massa/massa-client/massa-client
⠀Придумать пароль для кошелька и ноды, запустить команду и ввести его, тем самым добавить его в систему в виде переменной (без специальных символов)
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n massa_password
⠀Проверить корректность сохранённого пароля
echo "$massa_password"
⠀Если пароль некорректный, то добавить вручную
sed -i "/ massa_password=/d" $HOME/.bash_profile echo 'export massa_password="ВВЕСТИ_ПАРОЛЬ"' >> $HOME/.bash_profile . $HOME/.bash_profile
Пароль необходимо сохранить в надёжном месте, восстановить его невозможно.
⠀Добавить команды в систему в виде переменных:
- Просмотр лога ноды;
- Запуск клиента;
- Просмотр информации о ноде;
- Просмотр информации о кошельке;
- Покупка ROLL’ов.
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/Massa/main/insert_variables.sh)
sudo tee <<EOF >/dev/null /etc/systemd/system/massad.service [Unit] Description=Massa Node After=network-online.target [Service] User=$USER WorkingDirectory=$HOME/massa/massa-node ExecStart=$HOME/massa/massa-node/massa-node -p "$massa_password" Restart=on-failure RestartSec=3 LimitNOFILE=65535 [Install] WantedBy=multi-user.target EOF
sudo systemctl daemon-reload sudo systemctl enable massad sudo systemctl restart massad
⠀Дождаться появления надписи Successful bootstrap
massa_log
⠀При возникновении ошибки ниже повторить запуск ноды
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: parsing error : public key bs58_check parsing error
Linux (автоматический)
⠀Запустить скрипт и дождаться окончания установки
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/Massa/main/multi_tool.sh)
massa_node_info
- Если нет, то перейти к подразделу «Создание»;
- Если создан, то к подразделу «Запрос токенов с крана».
Windows
⠀Большая часть аудитории будет устанавливать ноду на Linux, поэтому подробный гайд не приведён. При установке нужно пользоваться официальным.
Кошелёк
Создание
massa_client
⠀Сгенерировать новый кошелёк (использовать внутри клиента)
wallet_generate_secret_key
⠀Проверить адрес созданного кошелька (использовать внутри клиента)
wallet_info
⠀Выйти из клиента командой (использовать внутри клиента)
exit
Запрос токенов с крана
⠀Присоединиться к Discord серверу, пройти верификацию и перейти в канал #⌠💸⌡testnet-faucet
⠀Отправить в него адрес кошелька, который найти в выводе команды
massa_wallet_info
⠀Обычно токены приходят быстро, в редких случаях в течение 15 минут. Если по какой-то причине они не начислились, необходимо написать в один из каналов: #general, #testnet или администраторам в личные сообщения.
⠀Проверить получение токенов можно командой
massa_wallet_info
⠀Или в експлорере, введя в поиск адрес кошелька
⠀Получать токены можно каждые 24 часа. Команда проекта говорит, что достаточно получить 100 токенов (1 ROLL), чтобы быть учтённым участником тестовой сети. Балансы будут обнуляться каждый эпизод, по окончании месяца.
⠀Если токены были ошибочно запрошены на неправильный адрес, то исправить ошибку можно в каналах #general, #testnet или через личные сообщения с администраторами.
⠀Если при вызове команды massa_wallet_info
отображается нулевой баланс, однако в эксплорере токены отображаются, то необходимо перезапустить ноду командой
sudo systemctl restart massad
Стейкинг
⠀Для участия в тестовой сети необходимо купить как минимум 1 ROLL и застейкать его. Курс обмена: 1 ROLL = 100 MAS.
massa_buy_rolls -mb
⠀Купить определённое количество ROLL’ов (необходимо ввести количество)
massa_buy_rolls
⠀Необходимо подождать 0.5-10 минут и проверить, появились ли купленные ROLL’ы командой
massa_wallet_info
⠀Далее необходимо включить возможность стейкинга для кошелька командой
massa_cli_client -a node_start_staking
⠀После регистрации ключа для стейкинга нужно подождать около 1 часа 40 минут, пока ROLL станет активным, а через некоторое время начнут накапливаться токены за стейкинг.
⠀Возможность стейкинга для кошелька включается один раз — при последующем получении токенов и обмене их на ROLL’ы заново включать не нужно.
⠀Информацию о ноде можно посмотреть командой
massa_node_info
Резервная копия
⠀Если ранее не был сохранён пароль, то сохранить его в надёжном месте
echo "$massa_password"
⠀Помимо этого, во избежании потери наград, необходимо сделать резервную копию файлов, сохранив их себе на ПК (команды отображают пути)
echo $HOME/massa/massa-node/config/node_privkey.key echo $HOME/massa/massa-client/wallets
⠀Если использовался скрипт для автоматической установки или обновления, то резервная копия этих файлов расположена по пути
echo $HOME/massa_backup/
Открытие портов
⠀Команда упомянула, что за открытие портов будут выдаваться дополнительные награды. Для этого необходимо открыть 31244 и 31245 порты и настроить конфиг.
Автоматическое
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/Massa/main/multi_tool.sh) \ -op
⠀Перейти к пункту «Проверка».
Ручное
sudo systemctl stop massad
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/ports_opening.sh) \ 31244 31245
⠀Записать в конфиг файл внешний IP-адрес
sudo tee <<EOF >/dev/null $HOME/massa/massa-node/config/config.toml [protocol] routable_ip = "`wget -qO- eth0.me`" EOF
sudo systemctl restart massad
Проверка
⠀Проверить, запустилась ли нода
massa_log
⠀Проверить, открылись ли порты
ss -tulpn | grep :3124
⠀Если ничего не выводит, значит порты не открыты, надо повторить открытие ещё раз.
⠀Для этого никакие дополнительные режимы включать не нужно, необходимо только в начало списка добавить строку
["YOUR_IP:31245", "NODE_ID"]
wget -qO- eth0.me
massa_node_info
Регистрация ноды
⠀Для регистрации в программе вознаграждений нужно:
1) Присоединиться к Discord серверу и пройти верификацию по телефону и/или капче;
2) На Discord сервере перейти в чат #⌠✅⌡testnet-rewards-registration;
3) Написать любое сообщение и дождаться, пока бот напишет в личные сообщения (взаимодействие с ботом только через них);
⠀Если бот отвечает не сразу, надо подождать — скорее всего бот нагружен.
4) Отправить боту IP сервера и дождаться ответа. IP можно узнать командой:
wget -qO- eth0.me
⠀Если неправильно указали IP, то можно его изменить отправив новый.
Не обращать внимание на любые ошибки со словами Routability test failed for unknown reason
5) На сервере выполнить команду и ввести Discord ID, выданный ботом
massa_cli_client -a node_testnet_rewards_program_ownership_proof
⠀Если команда для регистрации зависает и ничего не выводит, то необходимо:
exit
sudo systemctl restart massad
6) Выведенное командой значение отправить боту
7) Удостовериться, что всё сделано верно (должны быть все 3 значения), отправив боту info
Обновление
Автоматическое
⠀Запустить команду и дождаться окончания
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/Massa/main/multi_tool.sh)
⠀Создастся папка с резервной копией необходимых файлов, которую нужно сохранить себе на ПК, если резервная копия ещё не сделана (команда отображает путь)
echo $HOME/massa_backup/
⠀Проверить версию — должна быть TEST.26.X
massa_node_info
⠀Запросить токены с крана, застейкать ROLL и пройти регистрацию в Discord боте.
Ручное
⠀Сделать резервную копию файлов, если ещё не сделана (команды отображают пути)
echo $HOME/massa/massa-node/config/node_privkey.key echo $HOME/massa/massa-client/wallets
sudo systemctl stop massad
rm -rf $HOME/massa
⠀Запросить токены с крана, застейкать ROLL и пройти регистрацию в Discord боте.
Восстановление ноды
⠀Имея резервную копию в виде сохранённых ранее файлов, можно восстановить ноду. Для этого нужно:
- Запустить ноду;
- Файлы из резервной копии поместить по путям (команды отображают пути)
echo $HOME/massa/massa-node/config/node_privkey.key echo $HOME/massa/massa-client/wallets
sudo systemctl restart massad
massa_cli_client -a node_start_staking
massa_wallet_info
Удаление
⠀Запустить команду и дождаться окончания
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/Massa/main/multi_tool.sh) \ -un
⠀Директорию с резервной копией необходимых файлов (команда ниже отображает путь) при необходимости удалить вручную
echo $HOME/massa_backup
FAQ
Когда мейннет?
Сколько всего эпизодов?
Когда можно присоединиться к тестовой сети?
⠀В любом эпизоде, награды в основной сети будут раздаваться пропорционально сумме заработанных очков за каждый эпизод.
Что нужно делать в каждом эпизоде?
- Скачать новую версию бинарных файлов;
- Перезапустить ноду;
- Запросить токены с крана;
- Застейкать ROLL;
- Включить возможность стейкинга для кошелька;
- Пройти регистрацию в Discord;
- Следить за корректной работой ноды;
- Дождаться окончания эпизода.
error while loading shared libraries: libssl.so.1.1
⠀Установить недостающую библиотеку.
wget http://nz2.archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1l-1ubuntu1.6_amd64.deb; \ sudo dpkg -i libssl1.1_1.1.1l-1ubuntu1.6_amd64.deb
Вклад сообщества
Наша команде не несёт ответственности за возможные негативные последствия, поскольку не может гарантировать безопасность использования представленных инструментов
Как сюда попасть?
⠀Чтобы попасть в этот почётный раздел необходимо написать SecorD’у сообщение с информацией об инструменте:
- Название проекта;
- Краткое название в 2-3 слова (будет использоваться как заголовок);
- Описание, которое будет добавлено в статью (зачем нужно, функционал, как использовать, другая полезная информация, желательно со скриншотами).
- Пользу сообществу;
- Возможность заявить о себе;
- Дополнительную возможность представления доказательств контрибуции в различных проектах.
Информация о ноде и сети в Telegram боте
⠀Бот с набором полезных функций, таких как:
- Уведомление о слетании ROLL'ов
- Информация о сети
- Концентрация серверов рядом с указанным IP
- Многое другое
- Запустить бота командой
/start
- Добавить адрес кошелька в систему для получения уведомлений о слетании ROLL’ов и о выходе новых версий командой
/add ADDRESS
⠀Бот может прислать уведомление о слетевших ROLL’ах в период 1 час 40 минут после покупки ROLL’ов (когда они ещё не стали активными). Если после становления активными приходят уведомления — ROLL’ы слетели.
Полезные команды
⠀Доступные переменные (при использовании убрать echo)
echo $massa_wallet_address
massa_log sudo journalctl -fn 100 -u massad
massa_client
massa_node_info
⠀Посмотреть информации о кошельках
massa_wallet_info
# На весь баланс massa_buy_rolls -mb # Определённое количество (необходимо ввести количество) massa_buy_rolls
⠀Использование других команд модернизированного клиента
massa_cli_client -a node_start_staking massa_cli_client -a node_testnet_rewards_program_ownership_proof
sudo systemctl restart massad
Полезные ссылки
Официальный сайт проекта | Официальная группа Telegram
Канал с анонсами Telegram | Русскоязычная группа Telegram
Twitter | Discord | GitHub | Официальный гайд | Explorer
Благодарности
Команда проекта Massa — за отличную работу над проектом и с сообществом
Всем из раздела «Вклад сообщества»
Merlin — перевод первого (текстового) АМА
Команда 1package — изучение проекта, написание статьи, ведение русскоязычного сообщества
Команда Let’s Node! — изучение проекта, ведение русскоязычного сообщества