Streamr | Testnet
⠀Streamr — это децентрализованная платформа с открытым исходным кодом, позволяющая передавать различные сообщения от авторов к подписчикам.
Содержание
Информация о проекте
Описание
⠀Streamr — это децентрализованная платформа с открытым исходным кодом для передачи данных в режиме реального времени. В основе лежит сеть Streamr, которая и передает различные сообщения от авторов к подписчикам, представляя пользователям глобальную службу для обмена контентом.
⠀Отличительной особенностью Streamr является её децентрализация за счёт возможности запуска на любой машине, даже на Raspberry Pi. Кроме того, подобно облачным сервисам, присутствует возможность огромной масштабируемости без проблем с блокировкой поставщиков контента. Также отсутствует какая-либо монополия на данные — нет необходимости в передаче данных третей стороне. Помимо этого, пользователь получает высокую безопасность, что очевидно является плюсом. Ещё одним важным отличием является то, что Streamr использует сопутствующий блокчейн (в настоящее время Ethereum).
Фазы
⠀На данном этапе известны следующие этапы:
- 24–31 августа 2021 г. — подготовка, запуск нод сообществом и ожидание запуска;
- 31 августа — 2 сентября 2021 г. — начало тестовой сети, проведение первой стадии;
- 17–23 сентября 2021 г. — проведение второй стадии.
⠀Команда будет запускать столько стадий, сколько потребуется для исправления всех ошибок и полного тестирования сети.
Награды
⠀Общий пул — 2'000'000 $DATA токенов. Монета уже торгуется на CoinMarketCap.
На момент написания статьи общий пул наград — 320'000$.
Требования к серверу
⠀Любой сервер, однако чем выше скорость интернета, тем лучше. Можно запустить даже на Raspberry Pi
⠀Команда пишет, что это майнер, однако непонятно почему они назвали ноду именно так. По вводным данным это не майнер в привычном понимании (потребляет 100% ресурсов сервера) — будет потреблять только интернет
Запуск
⠀Каждый подраздел — отдельный вид установки, нужно выбрать один из них.
Docker (ручная)
sudo apt update && sudo apt upgrade -y
⠀Установить необходимые пакеты
sudo apt install wget git build-essential jq -y
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/installers/docker.sh)
mkdir $HOME/.streamrDocker
docker run -it -v $(cd ~/.streamrDocker; pwd):/root/.streamr streamr/broker-node:testnet bin/config-wizard
⠀Провести настройку, ответив на 2-й вопрос a + Enter
, а на остальные — Enter
⠀Для восстановления необходимо выбрать Import
и ввести приватный ключ от ноды. Если файл с приватным ключом по адресу /root/.streamrDocker/broker-config.json
существует, то спросят перезаписать ли его — выбрать на своё усмотрение
⠀Не делитесь ни с кем скриншотами с приватным ключом, как приведено ниже
⠀Сделать резервную копию файла с приватным ключом (значение ethereumPrivateKey
) и никому не показывать его
/root/.streamrDocker/broker-config.json
docker run -it --restart=always --name=streamr_node -d -p 7170:7170 -p 7171:7171 -p 1883:1883 -v $(cd ~/.streamrDocker; pwd):/root/.streamr streamr/broker-node:testnet
⠀Нода будет работать в фоновом режиме и запускаться вместе с системой
⠀Добавить адрес ноды в систему в виде переменной
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n streamr_wallet_address -v `docker logs streamr_node | grep -oPm1 "(?<=Network node 'miner-node' \(id\=)([^%]+)(?=\) running)"`
⠀Добавить команды в систему в виде переменных:
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n streamr_log -v "docker logs streamr_node -fn 100" -a . <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n streamr_wallet_info -v ". <(wget -qO- https://raw.githubusercontent.com/SecorD0/Streamr/main/wallet_info.sh) | jq" -a
Docker (автоматическая)
⠀Запустить скрипт и дождаться окончания установки
⠀Если существует папка .streamrDocker
с файлом broker-config.json
, то нода будет восстановлена имеющимся приватным ключом
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/Streamr/main/multi_tool.sh)
⠀Сделать резервную копию файла с приватным ключом (значение ethereumPrivateKey
) и никому не показывать его
/root/.streamrDocker/broker-config.json
Windows
⠀Большая часть аудитории будет устанавливать ноду на Linux, поэтому подробный гайд не приведён — приводится только направление, куда смотреть.
⠀Описанное ниже подкреплено лишь логическими суждениями и несёт информативный характер, поскольку не проверялось на практике.
⠀Необходимо установить подсистему Ubuntu в Windows, о том как это сделать написано в данной статье, а в этой немного по-другому. После этого необходимо установить ноду, как это описано в установке на Linux.
Проверка работы ноды
⠀Удостовериться, что нода запустилась
streamr_log
⠀Через некоторое время появятся сообщения об успешном участии в тестовой сети
⠀Ошибки ... Error: timed out in 15000ms.
— нормальное явление, не нужно обращать на них внимание
⠀Быстро найти такие сообщения можно командой
docker logs streamr_node | grep "your node has successfully"
Полное удаление ноды
Автоматическое
⠀Запустить скрипт и дождаться окончания работы
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/Streamr/main/multi_tool.sh) -un
⠀Для полного удаления ноду, включая папку .streamrDocker
, в которой находится файл с приватным ключом, необходимо запустить скрипт с дополнительной опцией и дождаться окончания работы
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/Streamr/main/multi_tool.sh) -un -c
Ручное
⠀Вывести список всех контейнеров
docker ps -a
⠀Up ...
означает, что этот контейнер (нода) запущен в данный момент
docker stop streamr_node
⠀Удалить все контейнеры, где IMAGE=streamr/broker-node:testnet
командой
docker rm CONTAINER_ID1 CONTAINER_ID2 ...
docker rm 5518f203ad0a 39ddeaec9826
⠀Удостовериться, что контейнеры удалены
docker ps -a
docker images
docker rmi IMAGE_ID
docker rmi d730aa3f5497
⠀Если появилась ошибка как на скриншоте, то были удалены не все контейнеры, использующие образ ноды
⠀Удостовериться, что образ удалён
docker images
⠀Нода полностью удалена. Если необходимо восстановить её заново, то необходимо осуществить запуск начав с данного шага
Обновление
Автоматическое
⠀Запустить скрипт и дождаться окончания работы
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/Streamr/main/multi_tool.sh) -up
Ручное
docker stop streamr_node
docker rm streamr_node
docker pull streamr/broker-node:testnet
⠀Заново запустить контейнер с нодой
docker run -it --restart=always --name=streamr_node -d -p 7170:7170 -p 7171:7171 -p 1883:1883 -v $(cd ~/.streamrDocker; pwd):/root/.streamr streamr/broker-node:testnet
⠀Удостовериться, что версия ноды 30.0.0
streamr_log | grep 'version'
Вклад сообщества
Наша команде не несёт ответственности за возможные негативные последствия, поскольку не может гарантировать безопасность использования представленных инструментов
Как сюда попасть?
⠀Чтобы попасть в этот почётный раздел необходимо написать SecorD’у сообщение с информацией об инструменте:
- Название проекта;
- Краткое название в 2-3 слова (будет использоваться как заголовок);
- Описание, которое будет добавлено в статью (зачем нужно, функционал, как использовать, другая полезная информация, желательно со скриншотами).
- Пользу сообществу;
- Возможность заявить о себе;
- Дополнительную возможность представления доказательств контрибуции в различных проектах.
Полезные команды
streamr_log docker logs streamr_node -fn 100
⠀Просмотр информации о кошельке
streamr_wallet_info # Сырой JSON . <(wget -qO- https://raw.githubusercontent.com/SecorD0/Streamr/main/wallet_info.sh)
docker ps -a
docker stop streamr_node docker rm streamr_node
docker restart streamr_node
Полезные ссылки
Официальный сайт проекта | Русскоязычная группа Telegram
Discord | Twitter | Reddit | GitHub | Официальный гайд | Explorer
Благодарности
Команда 1package — изучение проекта, написание статьи, администрирование русскоязычного сообщества
Команда Let’s Node! — администрирование русскоязычного сообщества