OmniFlix | FlixNet-2
⠀Мультимедийная p2p сеть для авторов, позволяющая создавать, распространять, монетизировать мультимедийные активы, взаимодействовать с сообществом.
Содержание
Информация о проекте
Описание
⠀OmniFlix Network — это мультимедийная p2p сеть для авторов, позволяющая создавать, распространять и монетизировать мультимедийные активы, а также взаимодействовать с сообществом.
⠀OmniFlix Network разрабатывает протоколы, модули, приложения и даже помогает сообществу, компаниям или блокчейнам разрабатывать и вести учёт своих медиа, распространять и монетизировать их с OmniFlix командой и экосистемой партнеров.
⠀OmniFlix был разработан с учетом трёх основных проблем, с которыми сталкиваются авторы, владельцы контента и сообщество:
- Отсутствие причастности к аудитории;
- Отсутствие инструментов для совместной работы, для создания, распространения и монетизации контента;
- Отсутствие единой инфраструктуры для распространения и предоставления доступа к контенту.
Фазы
⠀На данном этапе известны следующие фазы:
- 4 сентября — 6 сентября 17:00 по МСК — подача заявок на участие
- Утро 8 сентября — выпуск генезис файла
- 8 сентября 14:00 по МСК — запуск тестовой сети FlixNet-2
- 3 квартал 2021 г. — запуск ещё нескольких тестовых сетей;
- 4 квартал 2021 г. — запуск основной сети.
Награды
Условия участия
⠀В настоящее время критерии для присоединения к FlixNet-2 в качестве генезис валидатора будут зависеть от участия во FlixNet-1 (проводилась в конце июле) с возможностью присоединения новых валидаторов.
- Количество генезис валидаторов — 250;
- Участники FlixNet-1 могут занять 175 из 250 мест;
- Для новых участников предусмотрено 75 оставшихся мест и незанятые участниками прошлой тестовой сети (скорее всего таких мест не будет);
- Максимальное количество валидаторов — 400 (непонятно, что значит).
⠀Скорее всего участников будут выбирать по аптайму из FlixNet-1 и рандомно из новых
Требования к серверу
⠀Минимальные:
VPS/VDS/DS: 1 CPU, 2 GB RAM, 25 GB SSD, Ubuntu 20.04
⠀Рекомендуемые:
VPS/VDS/DS: 2 CPU, 4 GB RAM, 50 GB SSD, Ubuntu 20.04
Запуск
Подготовка
sudo apt update && sudo apt upgrade -y
⠀Установить необходимые пакеты
sudo apt install wget git build-essential make jq -y
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/installers/golang.sh)
⠀Удалить файлы от FlixNet-1, если остались
sudo rm -rf $HOME/.omniflixhub $HOME/omniflixhub $(which omniflixhubd)
cd; git clone https://github.com/Omniflix/omniflixhub.git && cd omniflixhub && git checkout v0.2.1 && make install; cd
⠀Придумать название ноды, запустить команду и ввести название, тем самым добавить его в систему в виде переменной
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n omniflix_moniker
omniflixhubd init "$omniflix_moniker" --chain-id flixnet-2
⠀Сделать резервную копию папки с настройками, сохранив себе на ПК (команда отображает путь)
echo $HOME/.omniflixhub/config/
⠀Придумать название кошелька, запустить команду и ввести название, тем самым добавить его в систему в виде переменной
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n omniflix_wallet_name
Если принимали участие в FlixNet-1 и есть мнемоническая фраза от кошелька
omniflixhubd keys add "$omniflix_wallet_name" --recover
⠀Необходимо ввести мнемоническую фразу от кошелька
Если не принимали участие в FlixNet-1 или нет мнемонической фразы
omniflixhubd keys add "$omniflix_wallet_name" &> $HOME/omniflix_$omniflix_wallet_name.txt
⠀Сделать резервную копию файла с мнемонической фразой от кошелька, сохранив себе на ПК (команда отображает путь)
echo $HOME/omniflix_$omniflix_wallet_name.txt
Запуск ноды
⠀Проверить версию omniflixhubd
omniflixhubd version --long
⠀Версия ноды должна быть 0.2.1
name: OmniFlixHub server_name: omniflixhubd version: 0.2.1 commit: 013609d6c7af71a85e94b8e21514debc5afb8e0c
⠀Если версия 0.1.0
, то поставить новую
cd; rm -rf omniflixhub /usr/bin/omniflixhubd `which omniflixhubd`; git clone https://github.com/Omniflix/omniflixhub.git && cd omniflixhub && git checkout v0.2.1 && make install; cd
wget -qO $HOME/.omniflixhub/config/genesis.json https://raw.githubusercontent.com/OmniFlix/testnets/main/flixnet-2/genesis.json
sed -i.bak -e "s%^seeds *=.*%seeds = \"cdd6f704a2ecb6b9e53a9b753c894c95976e5cbe@45.72.100.121:26656,b0679b09bb72dfc29c332b5ea754cd578d106a49@45.72.100.122:26656\"%; s%^persistent_peers *=.*%persistent_peers = \"65e362590690cedcddf5c7f4fc1b67c9d7b04fb2@45.72.100.118:26656,368a9a2b5096de253aaae302ff15a0a77fe06416@45.72.100.119:26656,cf8a7600b3daf23e9a3ce67ebe50c4af44701aa8@45.72.100.123:26656,93433a8c325d5ed5d2484d7fd23cda3dac511392@45.72.100.124:26656\"%" $HOME/.omniflixhub/config/config.toml
⠀Если на сервере стоит ещё одна нода, использующая Tendermint (Stratos, Findora и пр.), то:
sed -i.bak -e "s%^address = \"0.0.0.0:9090\"%address = \"0.0.0.0:9092\"%; s%^address = \"0.0.0.0:9091\"%address = \"0.0.0.0:9093\"%" $HOME/.omniflixhub/config/app.toml
- Дополнительно настроить конфиг в соответствии со статьёй
sudo tee /etc/systemd/system/omniflixhubd.service > /dev/null <<EOF [Unit] Description=OmniFlixHub Daemon After=network-online.target [Service] User=$USER ExecStart=$(which omniflixhubd) start Restart=always RestartSec=3 LimitNOFILE=65535 [Install] WantedBy=multi-user.target EOF
sudo systemctl daemon-reload sudo systemctl enable omniflixhubd sudo systemctl restart omniflixhubd
⠀Добавить команду для просмотра лога ноды в систему в виде переменной
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n omniflix_log -v "sudo journalctl -fn 100 -u omniflixhubd" -a
⠀Попросить тестовых токены в канале Discord или у администрации в ЛС Discord. Адрес кошелька можно узнать командой
omniflixhubd keys show $omniflix_wallet_name -a
⠀Добавить команду для просмотра информации о ноде и дождаться синхронизации с сетью
⠀После получения токенов создать валидатора
⠀Можно установить аватар, добавив флаги из одноимённого раздела
omniflixhubd tx staking create-validator \ --amount 1000000uflix \ --from $omniflix_wallet_name \ --pubkey $(omniflixhubd tendermint show-validator) \ --moniker $omniflix_moniker \ --chain-id flixnet-2 \ --commission-rate 0.10 \ --commission-max-rate 0.20 \ --commission-max-change-rate 0.01 \ --min-self-delegation 1 \ --gas auto \ --gas-adjustment 1.2 \ --gas-prices 0.025uflix
Информация о ноде
⠀Добавить команду для просмотра информации о ноде в систему в виде переменной
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n omniflix_node_info -v ". <(wget -qO- https://raw.githubusercontent.com/SecorD0/Omniflix/main/node_info.sh) -l RU 2> /dev/null" -a
omniflix_node_info
⠀Может не отображаться публичный ключ валидатора, как исправить пока непонятно
Побег из тюрьмы
⠀Чтобы узнать, находится ли нода в тюрьме, необходимо использовать команду
omniflix_node_info
⠀Если нода находится в заточении, то необходимо выполнить команду, чтобы выбраться из него
omniflixhubd tx slashing unjail --from "$omniflix_wallet_name" --chain-id flixnet-2 --node `grep -oPm1 "(?<=^laddr = \")([^%]+)(?=\")" $HOME/.omniflixhub/config/config.toml`
⠀Через некоторое время нода должна выбраться из заточения
Установка аватара
⠀Зарегистрировать или авторизоваться на сайте KeyBase
⠀Нажать на PGP ключ и скопировать его для дальнейшей установки аватара
⠀Подставить свои значения в команду для редактирования валидатора (в блокноте), выполнить её, подтвердить транзакцию и ввести пароль
omniflixhubd tx staking edit-validator \ --moniker "ANY_NAME" \ --identity "1A1A2B2B3C3C4D4D" \ --details "ANY_TEXT" \ --gas auto \ --gas-prices 0.025uflix \ --from "$omniflix_wallet_name" \ --node `grep -oPm1 "(?<=^laddr = \")([^%]+)(?=\")" $HOME/.omniflixhub/config/config.toml` \ --chain-id flixnet-2
Возможные проблемы
Вклад сообщества
Наша команде не несёт ответственности за возможные негативные последствия, поскольку не может гарантировать безопасность использования представленных инструментов
Как сюда попасть?
⠀Чтобы попасть в этот почётный раздел необходимо написать SecorD’у сообщение с информацией об инструменте:
- Название проекта;
- Краткое название в 2-3 слова (будет использоваться как заголовок);
- Описание, которое будет добавлено в статью (зачем нужно, функционал, как использовать, другая полезная информация, желательно со скриншотами).
- Пользу сообществу;
- Возможность заявить о себе;
- Дополнительную возможность представления доказательств контрибуции в различных проектах.
Полезные команды
⠀Доступные переменные (при использовании убрать echo)
echo $omniflix_moniker echo $omniflix_wallet_name
omniflix_log sudo journalctl -fn 100 -u omniflixhubd
omniflix_node_info . <(wget -qO- https://raw.githubusercontent.com/SecorD0/Omniflix/main/node_info.sh) -l RU
⠀Посмотреть статус ноды (используется в omniflix_node_info
)
omniflixhubd status --node `grep -oPm1 "(?<=^laddr = \")([^%]+)(?=\")" $HOME/.omniflixhub/config/config.toml` 2>&1 | jq
⠀Посмотреть информацию о ноде (используется в omniflix_node_info
)
omniflixhubd query staking validators --limit 1500 --output json | jq -r '.validators[] | select(.description.moniker=='\"$omniflix_moniker\"')'
sudo systemctl restart omniflixhubd
Полезные ссылки
Официальный сайт проекта | Официальная группа Telegram
Официальная группа тестнет валидаторов Telegram (по запросу в основном чате)
Русскоязычная группа Telegram | Twitter | Discord | GitHub | Medium
Благодарности
Команда Let’s Node! — изучение проекта, написание статьи