Разворачиваем статический веб-сайт в IPFS

В предыдущем блогпосте я рассказал об основных принципах работы IPFS и базовых возможностях предоставляемых системой. Здесь я рассмотрю немного более продвинутый пример и я расскажу о том, как в IPFS развернуть статический веб-сайт.

Для начала я в двух словах объясню в чём состоит различие между динамическими и статическими веб-сайтами.

У динамических веб-сайтов за отдачу содержимого отвечает какая-то программа. Обычно такие программы пишутся на одном из языков вроде PHP, JavaScript, Python, Go и других. Запрос от браузера пользователя обслуживается веб-сервером, который перенаправляет его программе, а программа в ответ на лету генерирует какую-то html-страницу, которая возвращается пользователю. В теории, запросы к одному и тому же адресу от разных пользователей могут получать разные ответы. Такой подход оправдан в случае если действительно есть необходимость отдавать разным пользователям разный контент при запросе одних и тех же страниц. Например, в социальных сетях одна и та же страница новостей для разных пользователей содержит разные новости.

В случае статического веб-сайта, все html-файлы заранее созданы и лежат в файловой системе сервера. Все запросы к сайту также обслуживаются веб-сервером, но он, минуя другие программы, отдаёт html-файлы с диска. Таким образом, все пользователи получают абсолютно одинаковые ответы на запросы к одинаковым адресам. Это максимально простой, быстрый и надёжный способ раздавать данные, который подходит для блогов вроде этого (хотя есть и куда более сложные сценарии использования статических сайтов). Dynamic site vs static

IPFS – это распределённое хранилище и оно не способно обслуживать динамические сайты, однако вполне подходит для статических. Фактически, статический веб-сайт это просто директория с набором html-файлов, css, скриптов и картинок. Чтобы разместить такой сайт в IPFS достаточно добавить эти файлы в систему командой вида ipfs add .... Однако есть несколько важных нюансов, о которых я бы хотел рассказать.

Для того чтобы сделать статический веб-сайт доступным в IPFS нужно выполнить 4 шага:

  1. запустить ipfs daemon,
  2. в html-файлах использовать относительные ссылки на локальные ресурсы,
  3. добавить dnslink,
  4. использовать IPNS и включить его автоообновление.

На самом деле, только первые два шага обязательны к выполнению, но последние два сделают доступ к сайту более удобным. Дальше я детальнее расскажу о каждом из шагов.

Читать дальше ➠

Всё что нужно знать об IPFS перед началом её использования

Коротко говоря, IPFS (InterPlanetary File System) – это одноранговая распределённая сеть, позволяющая организовать хранение и распространение файлов. Любой желающий может присоединиться к сети для того чтобы начать распространять собственные данные и/или помочь распространению существующих в сети файлов. Архитектура системы была вдохновлена известными распределенными системами, в том числе BitTorrent, но в отличие от него предоставляет дополнительные инструменты. Например, IPFS может быть использована для размещения статических веб-сайтов.

Для проекта написана отличная документация, в которой можно найти ответы на все интересующие вопросы об этой системе. Для более глубокого понимания системы я рекомендую прочитать эту документацию, а также оригинальную статью от авторов проекта. В этой статье я постараюсь максимально доступно и последовательно дать всю информацию, необходимую для того, чтобы читатель с нулевыми знаниями об IPFS смог понять основные принципы её работы. Также я здесь порассуждаю о практической пользе от IPFS. В следующем посте я расскажу о том как развернуть в IPFS собственный статический сайт.

Читать дальше ➠

Короткое путешествие по Германии осенью 2024

Бремен

У меня Бремен ассоциируется в первую очередь со сказкой братьев Гримм и советским мультиком, снятым по её мотивам. Я не знал чего ожидать от этого города, но, кажется, что его руководство построило стратегию привлечения в город туристов вокруг эксплуатации образов осла, собаки, кота и петуха (да, трубадура в оригинальной сказке нет): их образы повсюду в туристической части города.

Бремен однозначно один из самых красивых немецких городов, в которых я бывал, самые яркие впечатлившие меня места: красивое историческое здание вокзала, построенное в 1889 году, живописная набережная с рядами бир гартенов, уютный и атмосферный старый город.

Рургебит

Рургебит — это промышленный регион на западе Германии, состоящий из нескольких городов (Дортмунд, Эссен, Дуйсбург и других) расположенных так плотно друг к другу, что сложно понять где заканчивается один город и начинается другой. В XIX и XX веках этот регион был центром тяжелой промышленности, здесь работали крупнейшие угольные шахты и сталелитейные заводы, которые сыграли ключевую роль в экономическом развитии Германии. С середины XX века, когда угледобыча и металлургия начали терять своё значение, Рургебит пришел в упадок. В наши дни многие заводы и шахты закрыты и переоборудованы в культурные центры, парки и музеи.

В целом, это скучное, серое и унылое место. Причем это буквально так, по статистике солнечных дней в году здесь меньше чем, например, в Баварии. Оставаться надолго я бы тут точно не стал, но заброшенные шахты, сталелитейные заводы, это довольно необычные места, стоящие того, чтобы сюда ненадолго заехать. Кроме того, мне повезло и как раз на дни моего путешествия выпал матч Лиги Чемпионов между дортмундской Боруссией и шотландским Сельтиком, такое событие я не мог пропустить. Билеты пришлось покупать у перекупщиков по тройной цене, но оно того стоило :))

Мюнхен

Это был не первый мой визит в Мюнхен, в этот раз я заехал в пару знакомых мест, например, в красивейший Английский парк, а также зашел на Разводфест Октоберфест, в Олимпийский парк и его окрестности.

Я не ждал многого от Октоберфеста, тем не менее, он стал самым большим разочарованием. Это просто пузырь раздутый местными маркетологами, нет ни одной причины ехать сюда: толпы пьяных туристов, двойные цены на всё и абсолютно, АБСОЛЮТНО, ничего оригинального: еда, пиво, развлечения, всё как на любом другом немецком празднике, да и на любом другом городском празднике в любой другой европейской стране. И всё это среди толп в хламину пьяных туристов шатающихся и толкающихся повсюду в национальных баварских костюмах. Честное слово, находиться в толпе шотландских футбольных фанатов, орущих кричалки и раскачивающих трамвай, казалось гораздо более комфортным мероприятием чем побывать на этой помойке Октоберфесте.

Олимпийский парк место довольно красивое, впрочем, как и любой другой ухоженный парк, и более интересным местом мне показалась бывшая олимпийская деревня и квартал панельных домов, расположенных рядом. Сейчас здесь живут в основном студенты. Некоторые кадры легко спутать с такими же сделанными в условном Чертаново :)