Как построить межпланетную фотобудку

Как построить межпланетную фотобудку

30 апреля 2023 г.

Узнайте, как интегрировать фотобудку в IPFS и сделать свои селфи межпланетными с помощью web3.storage.

Во время Web Summit 2022 команда Filecoin, занимающаяся мероприятиями и творческой командой, создала удивительный выставочный стенд на съезде, который привлек более 3500 посетителей, желающих узнать больше о Web3, межпланетной файловой системе (IPFS) и распределенных решениях для хранения данных в сети Filecoin.< /p>

A photo of Filecoin stand at Web Summit 2022, Lisbon, Portugal

Filecoin предлагает широкий спектр решений для хранения и сохранения файлов в Web3 по протоколу IPFS. Одним из самых популярных и простых в использовании является web3.Storage, «один вызов API к . IPFS и Filecoin» для разработчиков.

IPFS — это веб-протокол, который позволяет обмениваться файлами в одноранговой сети и обмениваться данными в распределенной компьютерной сети. Filecoin создал открытый -исходный протокол, который позволяет рынку хранения сохранять файлы в IPFS в течение длительного времени и с небольшими затратами. Это решение решает проблему хранения в Web3 и модернизирует Интернет, каким мы его знаем, чтобы справляться с такими проблемами, как межпланетная связь.

Межпланетное общение должно включать селфи! Узнайте, как с помощью облегченного приложения node.js создать программное обеспечение для фотобудки под названием Sparkbooth, чтобы подключиться к web3.storage и загрузить свое селфи в IPFS.

Как это работает?

Основными частями фотобудки являются: цифровая камера, несколько источников света, компьютер с сенсорным экраном, некоторое программное обеспечение, управляющее камерой для съемки фотографий, и возможность загрузки их в сеть IPFS и Filecoin.< /сильный>

A diagram explaining the photo booth operation

Последовательность событий выглядит следующим образом:

  1. Сенсорный экран получает от пользователя команду сделать снимок.

2. Программное обеспечение Photo Booth (называемое Sparkbooth) обращается к камере, чтобы выполнить действие

3. Sparkbooth сохраняет фото локально на компьютере

4. Sparkbooth спрашивает пользователя, хотят ли они отправить на сервер (через web3.storage)

5. Sparkbooth отправляет фотографию, имя пользователя, пароль и сообщение об успешном выполнении в вызове API *fil-photo-booth-uploader *пользовательское приложение nodejs

6. Приложение fil-photobooth-uploader:

  1. проверьте имя пользователя и пароль
  2. изменить формат фотографии на web3.storage< /a> принимает
  3. извлекает токен/ключ API из системы и отправляет в __web3.__Хранилище
  4. w__eb3.storage__ отправляет фото в сеть IPFS и создает резервную копию в Filecoin
  5. w__eb3.storage__ вернет идентификатор контента IPFS (CID) обратно в fil-photo-booth-uploader
  6. fil-photo-booth-uploader создаст http-версию URL-адреса CID через web3.storage Шлюз IPFS
  7. fil-photo-booth-uploader возвращает сообщение об успешном выполнении Sparkbooth 7

    7. Sparkbooth получает сообщение об успешном завершении: «Ваша фотография отправлена ​​в IPFS через веб3.хранилище. :-)» вместе с URL фотографии

8. Sparkbooth отображает сгенерированный QR-код на экране

Внешний вид? Это как обычная фотобудка:

Пример URL-адреса CID IPFS:

| https://bafybeiei7zadrztflc6krunhvqr3umzre7xjxfzvmyjs2ob2w7yykq63ea.ipfs.w3s.link/20221104172648.jpg | |----|

Пример:

A QR code containing CID of a selfie

Весь процесс выглядит следующим образом:

Uploading selfie to IPFS

Чтобы узнать больше об IPFS и CID, посетите proto.school.

Пошаговое руководство

Предпосылки

Есть несколько вещей, которые вам могут понадобиться для выполнения этого руководства:

  • 📸 Камера - любая современная Canon
  • 💻 Компьютер — любой моноблок с сенсорным экраном или ноутбук с сенсорным экраном.
  • 👨🏻‍💻 Программное обеспечение Photo Booth — Sparkbooth 7
  • 🤖 Сервер приложений — для удобства я использую Heroku
  • 📦 Продукт с поддержкой IPFS — учетная запись web3.storage
  • 🌎 Интернет-соединение — способ общения с WWW по проводной или беспроводной сети (Wi-Fi)

Шаг 1. Настройка Web3.Storage

  1. Создайте web3.storage< /strong> через ваш Github учетная запись или электронная почта

  1. Перейдите в Аккаунт > Токен API

  1. Создайте новый токен API, назовите его как угодно (например, Filecoin Web Summit 2022)

  1. Скопируйте ключ API с помощью кнопки копирования

  1. Сохраните это на потом. Вам нужно будет поместить это в приложение fil-photo-booth-uploader в качестве переменной среды.

Шаг 2: развертывание приложения nodejs

Чтобы Sparkbooth 7 и web3.storage могли нормально общаться, нам потребуется небольшая помощь в переводе их языков. Приложение nodejs поможет нам в этом. Его нужно будет разместить на сервере, и мы используем для него Heroku (если вы знаете собственный способ размещения Web3, напишите мне в директ. Я бы с удовольствием попробовал).

  1. Сначала перейдите на github.com (зарегистрируйте новую учетную запись, если у вас ее нет)

  1. Посетите программу загрузки Filecoin Photo Booth, а затем нажмите на вилку. Это позволит вам скопировать исходный код в свою учетную запись или репозиторий и подключить его к Heroku.

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

  1. Создайте новое приложение и поместите в него название мероприятия.

  1. Скорее всего, для каждого мероприятия нам понадобится новое приложение.

  1. В разделе "Метод развертывания" выберите GitHub, а затем войдите в свою учетную запись GitHub. Разрешите Heroku извлекать код для создания приложения и запуска сервера.

  1. В разделе «Подключиться к GitHub» найдите имя репозитория, который вы только что разветвили (например, fil-photo), а затем подключите репозиторий кода.

  1. Оставьте все настройки и нажмите «Развернуть ветку», чтобы запустить первую сборку. Heroku достаточно умен, чтобы распознавать тип приложения. Далее: создайте и разверните его.

  1. Однако перед тем, как сервер заработает, нам нужно указать имя пользователя, пароль и web3.storage API-токен в серверной среде. Heroku может получить к нему безопасный доступ, не подвергая их воздействию Интернета. Перейдите в «Настройки», затем в «Конфигурационные переменные».

  1. Вставьте следующие конфигурации, замените SPARKBOOTH_PASSWORD, SPARKBOOTH_USER, W3S_API_TOKEN на пароль, имя пользователя и web3.storage токен API соответственно. Имя должно быть точно таким, как указано выше.

  1. Приложение должно быть запущено! Вы можете перейти в раздел «Домены» в разделе «Настройки», чтобы найти URL-адрес, который нужно добавить в sparkbooth 7 позже.

Шаг 3. Настройка Sparkbooth 7

Последний шаг – подготовка программного обеспечения на ноутбуке для фотобудки к взаимодействию с нашим пользовательским приложением nodejs для завершения процесса настройки.

  1. Перейдите на сайт Sparkbooth.com. Загрузите Sparkbooth 7 DSLR, заплатите лицензионный сбор или воспользуйтесь пробная версия.

  1. Откройте Sparkbooth и подтвердите покупку.

  1. Когда вы откроете приложение, оно развернется, но вы можете нажать "ESC", чтобы выйти. Перейдите к настройкам в левом верхнем углу:

  1. Настройте «Отправить на учетную запись», затем введите имя пользователя и пароль, которые хотите использовать. «URL-адрес службы» должен быть адресом приложения Heroku + «/upload-w3s». (например, http://fil-photo-booth-uploader.herokuapp.com:443/ загрузка-w3s)

  1. Вы можете проверить соединение с помощью кнопки проверки. Это приведет к сообщению об ошибке, но вызов API все равно пройдет через приложение Heroku и поместит тестовую фотографию в ваше web3.storage аккаунт. Вы можете проверить тестовое изображение в своей учетной записи web3.storage. Если вы видите фото «тест фотобудки», установка прошла успешно! Нажмите здесь, чтобы проверить.

скоро выйдет бета-версия w3up

Это приложение было создано в 2022 году и использует существующие API web3.storage. На момент написания этой статьи на веб-сайте web3.storage доступны новые бета-версии API w3up, которые включают интерфейсные веб-компоненты для нескольких платформ< /а>. Это еще больше упростит начало написания приложений, использующих IPFS.

Некоторые предложения по улучшению

Приложение не идеально! Есть несколько областей, которые можно улучшить:

  1. Безопасность

Несмотря на то, что это всего лишь уловка для демонстрации возможностей, безопасность приложения nodejs не идеальна. Проверка паролей и имени пользователя в логике приложения нежелательна. Я считаю, что мы должны поместить приложение за брандмауэр или шлюз API, который проверяет авторизацию в заголовке, прежде чем передать вызов нашему приложению.

  1. Опыт

Sparkbooth 7 великолепен, но пользовательский интерфейс кажется довольно ограниченным. Было бы хорошо, если бы мы могли настроить это немного больше. Возможно, программное обеспечение для фотобудки с открытым исходным кодом могло бы помочь нам в этом?

  1. Недавняя фотогалерея

Возможно, мы могли бы использовать отдельный компьютер, чтобы показывать посетителям последние фотографии. Они могли выбрать фотографию, которую хотели бы отправить себе по электронной почте, снова отобразить QR-код или поделиться ею в социальных сетях. Это потребует создания внешнего интерфейса для fil-photo-booth-uploader, что может стать отличным проектом для внешнего разработчика.

  1. Используйте децентрализованную серверную часть приложения. Может быть, кому-то нравится Fluence или IPVM может помочь.

Заключение

Во время трехдневного веб-саммита фотобудка Filecoin работала в течение 99 % времени и 1 % была отключена из-за проблем с подключением к Интернету на конференции. Всего фотобудка опубликовала в Filecoin Network 934 фотографии. Это почти тысяча селфи, готовых к межпланетному путешествию благодаря очень удобному сервису web3.storage! п

Фотобудка также известна. На третий день репортер CNN также взял интервью у будки (да, будка становится известной… не я).

Репортер CNN берет интервью у Photo Booth Filecoin на Web Summit, Лиссабон, Португалия

Пожалуйста, не стесняйтесь использовать это руководство, чтобы создать свою собственную межпланетную фотобудку для ваших мероприятий, собраний, встреч, вечеринок или просто для развлечения.

Сеть Filecoin теперь имеет емкость хранилища 16EiB, и в ней хранится более 300PiB данных. Есть много способов внести свой вклад или использовать этот проект. Узнайте больше о том, как принять участие здесь.


Оригинал