[DEPRECATED] Massa | TEST.26.X – UA
Децентралізована мережа, яка має пропускну здатність 10'000 транзакцій/сек. З вересня до 2 кв. 2022 р. проходитиме оплачувана тестова мережа.
Зміст
Інформація про проєкт
- Офіційний сайт – короткий опис проєкт
- Блог — принцип роботи блокчейна
- Whitepaper - опис проєкт
- Стаття про нагороди
Опис
Поточні блокчейни, які масштабуються до високої пропускної спроможності транзакцій, централізовані, або небезпечні. Для Massa була розроблена нова архітектура під назвою Blockclique, яка масштабує пропускну спроможність транзакцій до 10'000 транзакцій в секунду без шкоди для децентралізації та безпеки. Ця архітектура заснована на сегментуванні транзакцій у багатопотоковому блоковому графі.
- Massa поєднує сегментування транзакцій і багатопотокову архітектуру блокового графа, що підтримує паралельні блоки з сумісними транзакціями;
- Massa поширює правило консенсусу Накамото на випадок паралельних блоків, забезпечуючи безпечний і децентралізований консенсус з використанням Proof-of-Stake;
- Архітектура Blockclique може обробляти тисячі транзакцій у секунду нарівні з традиційними фінансовими системами.
Q&A
- Марсель — місто, де познайомилися і вчилися засновники проєкту.
- Від словосполучення «Масове впровадження» («Mass adoption») — мета цієї децентралізованої валюти.
Чим відрізняється Massa від інших проєктів, наприклад, Solana?
Нині блокчейн проєкти, по суті, відмовилися від децентралізації, щоб досягти високої продуктивності.
- Створити децентралізовану мережу;
- Досягти швидкості 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/doxe1/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)
Замінити та додати в систему у вигляді змінних (українською мовою):
- Перегляд логів ноди;
- Запуск клієнта;
- Перегляд інформації по ноді;
- Перегляд інформації по гаманцю;
- Купівля ROLL'ів.
. <(wget -qO- https://raw.githubusercontent.com/doxe1/Massa/main/insert_variables.sh)
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.
Придбати ROLL'и за рахунок всього балансу
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/wallet.dat
Якщо використовувався скрипт для автоматичного встановлення або оновлення, то резервна копія цих файлів розташована по шляху
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 [network] routable_ip = "`wget -qO- eth0.me`" EOF
sudo systemctl restart massad
Перевірка
Перевірити, чи запустилася нода
massa_log
Перевірити, чи відкрилися порти
ss -tulpn | grep :3124
Якщо нічого не виводить, то порти не відкриті, треба повторити процес відкриття портів ще раз.
Іноді бувають проблеми із запуском ноди через брак нод, які використовуються для завантаження (кількість збільшувалася на початку установки), для допомоги спільноті можна додати свою ноду в список, зробивши PR.
Для цього ніякі додаткові режими включати не потрібно, необхідно тільки в початок списку додати рядок
["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/wallet.dat
sudo systemctl stop massad
rm -rf $HOME/massa
Запросити токени з крана, застейкати ROLL'и і пройти реєстрацію в Discord боті.
Відновлення ноди
Маючи резервну копію у виді збережених раніше файлів, можна відновити ноду. Для цього потрібно:
- Запустити ноду;
- Файли з резервної копії помістити в потрібні папки (команди відображають шляхи)
echo $HOME/massa/massa-node/config/node_privkey.key echo $HOME/massa/massa-client/wallet.dat
sudo systemctl restart massad
massa_cli_client -a node_add_staking_secret_keys
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
Нода не запускається
Ймовірно, нода не може запуститися через проблеми із нодами, які використовуються для завантаження, особливо, якщо в логах помилка
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: parsing error : public key bs58_check parsing error
Для їх оновлення потрібно виконати наступні команди
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/Massa/main/multi_tool.sh) -rb; \ systemctl restart massad
Внесок спільноти
Інформація про ноду та мережу в 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_add_staking_secret_keys massa_cli_client -a node_testnet_rewards_program_ownership_proof
sudo systemctl restart massad
Корисні посилання
Офіційний сайт проекту | Офіційна група Telegram
Канал із анонсами Telegram | Українськомовна група Telegram
Twitter | Discord | GitHub | Офіційний гайд | Explorer
Подяка
Команді проєкту Massa — за відмінну роботу над проєктом і з спільнотою.
Усім із розділу «Внесок спільноти»
Merlin - переклад першого (текстового) АМА
Команді Let's Node - Вивчення проєкту, ведення російськомовної і української спільнот
doxe - за написання статті та її локалізацію на українську мову
Команда 1package — вивчення проекту, написання статті, ведення російськомовної спільноти