https://dtube.video/
Что такое DTube?
DTube это приложение, полностью написанный в JavaScript, который работает в браузере, который позволяет загружать и смотреть видео на верхней части ОПЗ сети. Кроме того, он использует STEEM в качестве базы данных и позволяет получать бонусы от ваших загрузок.
Это может звонить колокол для тех, кто помнит объявление проекта SteemQ, который сделал почти пять тысяч долларов в награду, но не получил выпущен и в конечном итоге ребрендинг - это все еще не работает после того, как более года, и даже в настоящее время альфа использует фоны сервер для всего, и поэтому до сих пор централизован. Я уверен, что я не был единственным человеком, разочарован SteemQ.
Я выбрал другой подход. Строить что-то первое - говорить после. Если вам интересно, я сделал все сам (и с помощью библиотек с открытым исходным кодом, конечно), и это заняло около 4 месяцев, чтобы достичь того, что у меня есть сейчас, начиная с нуля.
Огромная часть этой статьи будет технической и, возможно, не так интересна для некоторых людей, но я считаю, что большая часть моих последователей заинтересована в таком роде дискуссию, поэтому я объясню, как это работает. Извините за входящие стены текста
Как использовать DTube
Вход в систему:
1. Введите имя пользователя STEEM
2. Введите Закрытый ключ проводки, вы можете найти его следующим образом:
Войти Многопользовательский
Youtube и Facebook имеют эту удивительную особенность, что вы можете легко иметь несколько каналов, связанные с вашей учетной записью и переключаться между ними легко. Я уверен, что я не единственный пользователь на STEEM, кто владеет несколькими счетами, и приходится использовать различные браузеры или робот upvote со всеми счетами становится скучно очень быстро. На DTube, вы можете войти с таким количеством счетов, как вы хотите, и переключаться между ними.
Я не знаю, почему SteemIt до сих пор не имеет эту функцию.
настройки
DTube есть меню настроек доступно из любого места в приложении. Это позволяет настроить право голоса, фильтровать содержимое NSFW аналогично SteemIt.com и настроить параметры ОПЗ. ОПЗ шлюз, где файлы загружаются с, в то время как API является то, что мы используем для загрузки.
Выгрузка
Во-первых, вы должны быть авторизованы, чтобы иметь возможность получить доступ к странице загрузки.
Затем просто добавить видео, оснастки (ака миниатюр), и, наконец, заполнить тексты для blockchain и представить!
Если все пойдет хорошо, вы должны быть приняты к видео после подачи, и он должен начать воспроизведение видео в диапазоне от 0 до 30 секунд в зависимости от шлюза и скорости соединения.
Просмотр видео
Есть в настоящее время 3 основных способа обнаружить содержание на DTube. Вы можете перейти на главную страницу и открыть категории NEW, HOT и трендовую. Они работают так же, как SteemIt.
Вы можете получить доступ к каналу определенного пользователя, перейдя непосредственно к https://dtube.video/c/curator для моего тестирования счета, например.
Наконец, вы можете воспользоваться поиском в верхней панели, более подробную информацию об этом позже в этой статье.
Как DTube работает
Использование STEEM Blockchain в качестве базы данных
Потому что мы хотим DTube, чтобы быть по-настоящему децентрализованной, мы не можем иметь сервер с базой данных и использовать его для запроса вещей. Использование blockchain является естественным решением. STEEM имеет много преимуществ по сравнению с другим blockchains. Это быстро (4 сек блоки). Это бесплатно, каждый может использовать его без необходимости внести некоторую форму валюты и операции не имеют сборов. Кто хотел бы платить деньги, чтобы загрузить видео, комментировать видео, или даже upvote? Никто. В качестве дополнительного бонуса, STEEM blockchain уже имеет механизм вознаграждения зарабатывающих.
Любое видео загружено на DTube становится содержанием STEEM, которые могут получать вознаграждение за 7 дней. DTube не использует либо заголовок или тело контента для хранения информации, поэтому если вы не хотите, чтобы загрузить видео появятся в вашем канале, вы можете изменить или удалить его, то видео будет оставаться нетронутым на DTube. В то время как можно было бы не показывать ничего на других платформах, таких как steemit.com или busy.org, я считаю, что нынешнее поведение будет хорошо и будет способствовать росту платформы и пользователям награды.
Использование ОПЗ в качестве статического хранения файлов
ОПЗ является протоколом, который позволяет децентрализованное хранение файлов. Принцип позади него называется Distributed Hash Tables (ДГТ). Тот же принцип также полномочия в сети BitTorrent. Точно так же как, как криптовалюта использует асимметричную криптографию, сети DHT будет хэш содержимого для того, чтобы быть в состоянии идентифицировать файл. Хэш становится идентификатором файла, и это так же просто, как повторное хеширование файла и убедившись, что хэш совпадают, чтобы обеспечить файл, который был послан к нам является оригиналом.
Почему бы не использовать торрент тогда? Торрент, возможно, уже имеет больше содержания и более распространенный. Однако, Торрент был построен не для Интернета. Некоторые реализации, такие как WebTorrent пытаются заставить его работать, но он все еще требует некоторых «гибридных» клиентов, которые будут действовать в качестве мостов для передачи файлов с жестких клиентов, таких как μTorrent для веб-клиентов, которые работают в браузере. Не очень удобно, даже менее эффективным. Я уверен, что многие из вас использовали PopcornTime наблюдать некоторые «пиратский» контент и пользуются, но построить что-то подобное, что работает в браузере без необходимости запуска гибридных клиентов для подключения людей, к сожалению невозможно.
ОПЗ является младшим, с открытым исходным кодом, и активно развивается протокол. Он имеет светлое будущее. Используя его в качестве основного среднего хранения для этого проекта не было никакой опасности.
Стоимость ОПЗ хранения
ОПЗ это крут, но нет никакой магии. Кто-то должен посеять файлы, а ваш браузер не может постоянно хранить большие файлы (локальное хранилище ограничено 50MB на большинстве браузеров), поэтому затравки через приложение непосредственно не представляется возможным, как сегодня. Хотя моя первая идея состояла в том, чтобы спросить некоторых свидетелей, чтобы запустить некоторые узлы ОПЗ, это стало ясно после того, как несколько разговоров, что это создаст больше проблем, чем решений, поскольку большинство свидетелей нетехнических лиц и беговые и настройка узел ОПЗ правильно, как представляется, трудная задача для большинства. Я до сих пор считаю, что это решение было правильным, но я бы четко нужно настроить докер или что-то легкое для свидетелей активно присоединиться к сети DTube и начать высева файлы (и заработать долю наград).
Вместо этого, я искал существующих узлов ОПЗ и связаться с владельцем ОПЗ магазина, веб-сайт, который позволяет оплатить в Bitcoin, чтобы сохранить ваши файлы в сети ОПЗ. Через несколько положительных и инструктивных ответов от @nannal (STEEM, твиттера / и т.д.), я знал, что я нашел человек.
Недавно я создал @dtube счет. Эта учетная запись будет использоваться для сбора 25% авторских вознаграждений DTube. 10% этих платежей будет использоваться для оплаты долгосрочного хранения файлов на ОПЗ Store. Ставка составляет $ 0,044 за ГБ в месяц. Так, к примеру, предположим, что вы загружаете 100MB видео, который зарабатывает $ 10 наград, а затем $ 0,25 пойдет на @nannal и обеспечить избыточность данных за ~ 57 месяцев. После того, как это время прошло, пользователи должны будут либо платить сам (крипто принято, конечно), чтобы сохранить файлы будучи посеяны, или семени его самим прямо на своем собственном компьютере и связи.
дизайн
Большинство разработчиков знают поговорку «не изобретать велосипед». То же самое относится и к проектированию и пользовательский опыт. Ведущая платформа видео YouTube успешно работает в течение многих лет, и копирование их имеет смысл. Особенно, когда я присоска на развитие фронтального и дизайн пользовательского интерфейса. Я попытался скопировать внешний вид YouTube с помощью семантического основы пользовательского интерфейса. В то время как я горжусь тем, что он выглядит, я уверен, что некоторые более талантливые люди, чем я хлопали меня по лицу за то, как плохо он выглядит и играет.
Я очень открыт для предложений. Или, если вы веб-дизайнер, с хорошим портфолио, и семантический опыт UI, не стесняйтесь связаться со мной по steemit.chat.
Использование AskSteem для поиска
Это может быть трудно для нетехнических людей, чтобы понять это, но поиск на самом деле самая трудная задача, чтобы сделать DTube жизнеспособного продукта. Если у вас есть стандартный SQL или база данных Монго, поиск легко. Однако здесь, в нашей базе данных является STEEM blockchain, и мы не можем найти, общаясь с STEEM узлом непосредственно. Я понимаю, что поиск функция с низким приоритетом для ведения блога платформы, особенно когда Google индексирует все содержимое и предлагает API поиска. Но для DTube, пользователи будут использовать это много.
Я связался с @thekyle, компетентный разработчик, посты на SteemIt, но не получит половину столько наград, как он этого заслуживает. Недавно он представил AskSteem, поисковую систему для STEEM blockchain. Его служба использует ElasticSearch DB и индекс новых видео до 15 минут.
Его API изначально была не достаточно для меня, чтобы отобразить определенную информацию, такие как видео оснастка (эскиз) в результатах поиска, или я нуждался бы сделать один звонок для каждого результата поиска, то есть много бесполезных звонки. @thekyle выполнил мою просьбу, чтобы улучшить свой API в возрасте до 24 часов, и позволил ему работать гладко, как это должно быть. ❤
Можно утверждать, что поиск не децентрализована. Любой поиск будет проходить через сервер AskSteem, результаты поиска могут быть изменены, или поиск может просто перестать работать, если @thekyle решает закрыть его.
Лучшим решением было бы иметь функцию поиска непосредственно на STEEM узлах. Другое решение было бы иметь еще-другую DHT сеть работает внутри приложения, с нечеткой функцией поиска. Я не имею ни малейшего представления, в буквальном смысле, если сделать нечеткий алгоритм поиска в сети DHT возможно без создания точки отказа, и я не думаю, что кто-то есть ответ на этот вопрос на Земле. Именно поэтому я решил пойти на компромисс. Мы увидим, как она идет.
Постоянно сохраненные данные
DTube будет использовать браузер локальное хранилище для хранения бита информации. Во-первых, он будет хранить свои учетные записи и ключи проводки, так что вы не должны Relog каждый раз. Я полагаю, что не будет шокировать тех, кто рассматривает steemit.com делает то же самое.
Во-вторых, DTube также хранит список просмотренных Вами видео для отображения категории «смотреть снова». Так же, как YouTube делает это. Вы можете заметить, что пост награды не будет отображаться в категории Часы Снова, так как эти награды могут измениться в любой момент времени, и было бы невозможно доверять данным, которые мы сохранили некоторое время назад назад.
Если вы чистите ваш браузер иногда вам придется Relog и Подписанные истории видео будут очищены, не имея возможности получить их обратно. Просто дружеское предупреждение
Почему я не могу войти с моим мастером-паролем или активным ключом?
Потому что это отсталое, что нужно сделать. Steemit.com позволяет это только потому, что у них также есть кошелек в приложении. XSS атаки являются общими в Интернете, и большинство дэвов по праву параноика об этом. Я чувствую себя ужасно, если некоторые пользователи моего приложения потеряли свои счета и деньги из-за меня. Вместо этого, он гораздо легче заставить пользователей использовать ключ проводки и ограничить риски.
DTube не включает в себя функцию, которая требует ничего, кроме ключа проводки. Это не означает бумажник, нет сброса пароля, отсутствие внутренней торговли на рынке, не выключая и способ меньше работы для меня. Если вы хотите управлять STEEM награды, я приглашаю вас использовать судно. И только с помощью ключа проводки на любой платформе онлайн, такие как steemit.com, busy.org и т.д.
"Как насчет SteemConnect ??" Я вижу это как комментарий ниже уже этой статье. Я очень осведомлен о проекте SteemConnect, которая призвана обеспечить простой способ для разработчиков, чтобы включить STEEM логин и управления ключами. Тем не менее, я лично очень против делегируя свои ключи или отправить их кому-либо использовать, даже если это доверенная третья сторона побежала официально SteemIt Corp. Извините, но мне нравится оставаться в 100% контроле над своими ключами, и вы должны слишком. Помните, все люди, которые плакали на Reddit, когда обмен был взломан? Не быть похожими на них.
Случае на стороне пользователя кодирования
На YouTube вы загрузите исходный файл, и YouTube будет кодировать файл и даже преобразовать его в нескольких качеств, а также создать некоторые фантазии GIF для просмотра видео на зависания мыши.
Достижение же в DTube трудно. Кодирование видео файла в JavaScript сложнее коду, и всегда будет медленнее. Плохо
Кроме того, если вы хотите использовать несколько файлов качества, то вам нужно будет загрузить несколько файлов и умножают время, необходимое для загрузки видео. Плохо
И, наконец, она, вероятно, вырастет общий размер приложения DTube совсем немного, и, следовательно, увеличить начальное время загрузки. Плохо Плохо
Есть уже бесчисленное множество программ, которые позволяют кодирование видео. И это потребовалось бы сделать только для видео, записанного с помощью профессиональных инструментов, таких как высокий класс камер. Люди, которые владеют таким родом аппаратных средств, как правило, уже знают о кодировании. Мой личный смартфон уже кодирует каждое видео в H.264, и я полагаю, ваш iPhone делает то же самое. Так почему бы не держать его тупо просто?
Простота интеграции для других платформ
Любой другой на основе STEEM платформа может легко интегрировать видео, размещенные на DTube. Видео ОПЗ хэш хранится внутри json_metadata поста. Тогда это так легко, как делать
<видео SRC =»https://ipfs.io/ipfs/videohash»>видео>
Известные вопросы
Нет индикатор прогресса на загрузку - GitHub вопрос
Аватары не изменять размер и загружать изображения полного размера - возможно решение
Отсутствующие функции
система репутации
Метки просмотра
предложения Видео (справа от видео)
следующие каналы
Пользовательский проигрыватель
Я считаю, что текущее состояние продукта, чтобы быть жизнеспособным, даже без этих недостающих функций. Я буду добавлять их, медленно. Кроме того, поскольку я не уверен, какой из них является приоритетом прямо сейчас, я дам вам, ребята, выбирать и спорить об этом в комментариях!
App зависимости
DTube построен с Метеор, и использует множество пакетов с открытым исходным кодом от НОГО. DTube не существовало бы без них, поэтому они заслуживают несколько кредитов.
ОПЗ-апи - Связь с ОПЗ сети
SteemJS - Общаясь с STEEM Blockchain
autolinker - Добавление ссылок на описания / комментарии
момент - Отображение раз
XSS - Для отображения ненадежных текстов и предотвращения XSS атак
Кредиты отладчиков и идеи suggesters
@ Steeminator3000 @dailydogger @coldbolt @nannal @thekyle @ekitcho @fabien @kalvas @ french.fyde @nnnhhh @fayetristan @lukestokes
Последние слова
Хотя я лично считаю, что децентрализация является будущим, не надейтесь слишком высоко еще. Конкурировать с YouTube является тяжелой задачей, которая не может быть сделано одним человеком. Мое намерение с этим проектом было практически продемонстрирована возможность децентрализованного видео поверх ОПЗ. Это работает, но мы не знаем, насколько хорошо она будет работать в долгосрочной перспективе. YouTube также имеет много дополнительных функций, что делает опыт лучше. То, что я построил, представляет собой, может быть, 1% от требуемой работы, чтобы иметь что-то, что может конкурировать с YouTube. Я построил некоторые стены, но нет никакой изоляции, или картины, и все здания может рухнуть в любой момент.