Завершённые
August 24, 2021

Streamr | Testnet

1package & Let's Node

⠀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

⠀Установить Docker

. <(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! — администрирование русскоязычного сообщества

Выразить благодарность