[Сообщества] Интервью с основателем @vp-webdev
Сегодня мы делимся интереснейшей беседой с основателем сообщества @vp-webdev, веб-разработчиком Евгением, известного нам под ником @tristamoff.
@phoenix: Женя, привет! У нас есть традиция, которой мы не изменяем. Всем основателям, кого мы приглашаем в гости, я задаю два вопроса. Как ты узнал о проекте? И как у тебя родилась идея о создании своего сообщества?
@tristamoff: Привет! О Голосе я узнал где-то полгода назад, даже больше, из ЖЖ блога доктора Степанова, с которым лично познакомился на ГолосФФесте. До этого я блогингом вообще никогда не занимался, так, немножко писал для своего сайта.
@phoenix: А как узнал о самом проекте Vox Populi?
@tristamoff: О Vox Populi в первый раз услышал на ГолосФесте в Москве. И решил взяться. Уже кое-какой опыт был в написании материалов. Непосредственно опыт по теме у меня достаточно хороший. Собственно, вся моя карьера — это разработка. Поэтому я решил, что справлюсь. И я думаю, что у меня получается.
@natasha: Да, я очень хорошо помню момент, когда после завершения конференции ты ко мне подошёл и сказал, что хочешь запустить сообщество по веб-разработке. И это была первая реакция сразу после нашего выступления. Было очень здорово и немножко страшно, потому что мы тогда себе совсем ещё не представляли, как это будет работать. Ты был первым, кто подал заявку. Я очень хорошо помню наш разговор:)
@tristamoff: Ничего себе. Даже на конференции, когда я смотрел, листал брошюру, я тоже не понимал, как это будет работать. Да, действительно, это было для всех в новинку и очень непонятно.
@phoenix: Мне понравилось, как ты подошёл к созданию сообщества. Основательно и ответственно. И понравилось, каким образом ты привлекал единомышленников под свои флаги. У тебя был такой пост: Заработок биткоинов для веб-разработчиков в рамках проекта Vox Populi. Там даже немножко с юмором написано. Но как я понял, всё-таки впоследствии возникли некоторые проблемы с набором авторов, да?
@tristamoff: Да, этот пост достаточно хорошо выстрелил. И заголовок у него, видимо, завлекающий. Именно через этот пост ко мне приходили авторы. Даже общение иногда начиналось прямо с того, что “я прочитал материал, и вот моя уже готовая статья”. То есть они уже не спрашивали, просто сразу предлагали материалы.
@phoenix: А в ответ на это у тебя потом родился ещё один хороший пост... Где ты требования для материалов расписывал. Тоже всё было круто, подробно, даже как в markdown работать.
@tristamoff: Да, потому что порой переоформление материалов за авторами занимает около получаса, может, дольше. Но у некоторых авторов практически сразу чистовой вариант просто прочитаешь, поправишь опечатки и через 5 минут уже можно публиковать.
@phoenix: То есть функции редактора ты сам выполняешь?
@tristamoff: Да, всё выполняю сам.
@phoenix: Не помогает никто?
@tristamoff: Нет. У нас тематика достаточно узкая, гораздо сложнее найти авторов, которые смогут именно по веб-разработке писать, чем на какие-то отвлеченные темы типа путешествий, кулинарии и так далее. И поэтому найти авторов, действительно, сложновато.
@phoenix: Их просто мало на Голосе? Или их достаточно на Голосе, но мало желающих?
@tristamoff: На Голосе не скажу, что очень много. Часть из них, когда я только презентовал сообщество, сказала, что будут писать, но большая часть из них так ничего и не написала. Вот еще новые авторы приходят иногда. Например, одного человека я из оффлайна привёл. То есть, мы несколько лет общались, и я ему предложил попробовать. И он публикуется, у него достаточно хорошие работы.
@natasha: То есть, изначально людей у тебя не было. Ты один начинал?
@tristamoff: Да, вообще не было. Всё начинал один, писал полностью сам.
О создании сайта-клиента для сообществ проекта Vox Populi https://www.vp-golos.ml
@natasha: Поддался порыву, зарегистрировал сообщество и начал делать. И начал ты с создания сайта-клиента https://www.vp-golos.ml?
@tristamoff: Да.
@natasha: И это было отлично, и для меня лично очень приятно было первый раз общаться с разработчиком сайта-клиента Голоса. Я знаю, что на Голосе есть много ребят, которые разрабатывают свои клиенты, вытаскивают данные из блокчейна. Но лично никогда ни с кем не общалась. И потом ты стал добавлять туда уже новые сообщества. Расскажи, пожалуйста, как тебе пришла идея сделать платформу для сообществ? И как это трансформировалось?
@phoenix: Сложно ли это было? Много ли ушло времени на это?
@tristamoff: Да, есть некоторые сложности непосредственно в работе с блокчейном. В частности, то, что каждые три секунды генерируется новый блок. Это несколько иной подход, чем просто работа с базой данных, которая у тебя есть. Именно вот с этим в начале были большие сложности.
Вообще, клиент я делал в первую очередь, чтобы как-то систематизировать все сообщества, чтобы считать по ним статистику, смотреть выплаты и так далее. Я, например, всегда им пользуюсь. Каждый раз, когда мне нужно заплатить автору, я иду на свой клиент и смотрю, сколько мне нужно процентов кому отдать.
В данный момент я делаю опросы, они уже готовы на 90%. То есть я уже потестировал: создавал опросы, голосовал, я их уже могу прямо выложить. Каждый из вас может создавать опрос, сохранять его в блокчейн, и каждый сможет участвовать в опросах - голосовать.
@natasha: Это очень здорово.
О блокчейне, языках программирования и создании сайтов-клиентов
@phoenix: А вот у меня вопрос возник, когда ты сказал, что испытывал поначалу сложности при работе с блокчейном. Я так понимаю, в программировании ты давно, всю жизнь почти?
@tristamoff: Да.
@phoenix: И сколько лет из них ты уже как-то соприкасаешься с блокчейном? Год, два, больше?
@tristamoff: Непосредственно с блокчейном — с момента знакомства с Голосом.
@phoenix: Значит, около года?
@tristamoff: Получается так.
@natasha: Что самое сложное для программистов, которые только-только начинают знакомиться с блокчейном? В чём трудности?
@tristamoff: Я думаю в том, чтобы непрерывно мониторить состояние блокчейна, каждого блока, вытаскивать из них данные, чтобы они не терялись, не пропускать их и уметь правильно записать информацию в блокчейн. Всё остальное — это обычное программирование.
@natasha: Раньше была проблема найти документацию, где бы нормально всё объяснялось. Сейчас с этим проблем нет? Сейчас документацию на русском языке уже можно найти? Или это не обязательно?
@tristamoff: Вообще это очень желательно. Документация сейчас представлена где угодно, её я надо просто искать. То есть под “где угодно” я подразумеваю не то, что есть официальная документация, где все методы расписаны. Что-то такое есть, но в основном её приходится просто искать: люди сами разбираются, что-то выкладывают. Что-то правильно, что-то не совсем точно, что-то уже устаревает.
Например, документации, как записать блокчейн на php, в принципе, нет. Вообще, по-моему, никто ещё не смог этого сделать. То есть всё приходится делать пока на Яваскрипт или на Питоне (Python - язык программирования – прим. ред), насколько я помню. Ну и, наверное, на С++ плюс можно ( JavaScript, C++, Python - языки программирования – прим. ред).
@natasha: А какими специальными знаниями должен обладать программист-разработчик, чтобы быстро разобраться в блокчейне? Какими языками программирования владеть? Или иметь опыт какой-то специальный?
@tristamoff: В нём не надо так сильно разбираться, он сам по себе совсем не сложен. Именно со стороны разработчика, который разрабатывает приложение, которое как-то общается с блокчейном, достаточно просто хотя бы понимать JavaScript, потому что общение с блокчейном будет в основном на нём. Остальную клиентскую часть можно писать абсолютно на любом языке, который программист знает: на Java, на Go, на php, на Ruby — неважно.
@natasha: То есть, если какой-то предприниматель хочет создать свой сайт, и он хочет вытаскивать туда информацию из блокчейна Голоса, то, в принципе, он может взять любого толкового программиста, и тот сам разберется, как это делать?
@tristamoff: Да, он разберётся. То, что говорят “блокчейн-программист”, тут подразумевается разработчик блокчейн — это именно тот, кто пишет ядро блокчейна, так называемые хардфорки и так далее. А тот, кто пишет для него какие-то клиенты и приложения — это не блокчейн-разработчик, это обычный разработчик.
@natasha: Приложения, которые работают поверх блокчейна, так? Как правильно это говориться?
@phoenix: Интегрированные в него, может быть?
@tristamoff: Не сказал бы, что интегрированные. То есть интегрировать ничего вообще нельзя. Это именно сама разработка блокчейна. Если что-то коммитить в git ядра (добавлять в код блокчейна - прим. ред)— это будет часть блокчейна. А все клиенты, все боты, голосовалки автоматические и так далее — это абсолютно сторонние программы, которые, скажем так, пингуют блокчейн и посылают в него какую-то информацию. (пингуют - проверяют, сканируют, отправляют запросы и получают обратную реакцию - прим. ред.)
@phoenix: Через API общаются, правильно?
@tristamoff: Ну да. То есть, если их не станет, никто этого не заметит.
@natasha: Женя, дай, пожалуйста, свое определение: что такое блокчейн?
@tristamoff: Блокчейн — это распределенное хранилище данных. Просто децентрализованная база данных. Вообще, очень интересно, когда общаешься с людьми тут, все с таким воодушевлением, энтузиазмом говорят, что блокчейн заменит нам экономику, правительство, медицину, телевидение и так далее. Блокчейн, по сути, это просто децентрализованная база данных. Всё.
@natasha: Так это как раз “не просто” — именно в том, что она децентрализованная, в этом огромная её сила.
@tristamoff: Да. И как побочный эффект каждого блокчейн — криптовалюта, за счёт которой, они, видимо, и выстрелили. А так это просто децентрализованная база данных.
@natasha: Да, но эта база еще и строится особым образом. Как программист, объясни мне: ведь если в обычную базу данных можно зайти и что-то поменять в одиночку, то здесь ты не можешь это сделать, потому что каждое изменение вносится в новой блок. То есть это база данных, которая строится последовательно, и любое изменение — это новая запись в новый блок.
@tristamoff: Да, можно только что-то прочитать и записать что-то новое. Удалить и отредактировать нельзя.
@natasha: Да, кроме того, что она распределенная, так она ещё и строится особым образом, по-новому, этими блоками.
@tristamoff: То, что она строится блоками, — это ещё одна её особенность. Каждый блок зависит от предыдущего, и поэтому нельзя разорвать цепочку, и что-то в этой цепочке исправить в середине. А так любую базу данных можно настроить так, чтобы в неё можно было только записывать и считывать, а изменить и удалить нельзя. Распределить её по нескольким серверам — и будет точно такой же блокчейн, только без монет. И всё.
@natasha: Ещё разница в том, что в блокчейне, чтобы внести какие-то изменения, это делается уже согласно протокола консенсуса, т.е. необходимо согласие большинства майнеров (или согласие большинства делегатов, если мы говорим про Голос).
@tristamoff: Да, потому что если у нас есть, например, 10 делегатов — это означает, что мы имеем 10 копий этой базы. И нужно согласованно выкатить какое-то обновление.
Продолжение следует
Полный список сообществ проекта Vox Populi