Перейти до основного контенту

IPFS для децентралізованих інтерфейсів користувача

ipfs
Початківець
Ori Pomerantz
29 червня 2024 р.
3 читається за хвилину

Ви написали неймовірну нову dapp. Ви навіть написали інтерфейс користувача для неї. Але тепер ви боїтеся, що хтось спробує її цензурувати, вимкнувши ваш інтерфейс користувача, який є лише одним сервером у хмарі. У цьому посібнику ви дізнаєтеся, як уникнути цензури, розмістивши свій інтерфейс користувача в міжпланетній файловій системі (IPFS) (opens in a new tab), щоб будь-хто зацікавлений міг закріпити його на сервері для майбутнього доступу.

Ви могли б використати сторонній сервіс, наприклад, Fleek (opens in a new tab), щоб виконати всю роботу. Цей посібник призначений для тих, хто хоче зробити достатньо, щоб зрозуміти, що вони роблять, навіть якщо це вимагає більше роботи.

Початок роботи локально

Існує кілька сторонніх провайдерів IPFS (opens in a new tab), але найкраще почати з локального запуску IPFS для тестування.

  1. Установіть інтерфейс користувача IPFS (opens in a new tab).

  2. Створіть каталог із вашим вебсайтом. Якщо ви використовуєте Vite (opens in a new tab), використовуйте цю команду:

    1pnpm vite build
  3. У IPFS Desktop натисніть Імпортувати > Папка і виберіть каталог, який ви створили на попередньому кроці.

  4. Виберіть щойно завантажену папку і натисніть Перейменувати. Дайте їй змістовнішу назву.

  5. Виберіть її знову і натисніть Поділитися посиланням. Скопіюйте URL-адресу в буфер обміну. Посилання буде схоже на https://ipfs.io/ipfs/QmaCuQ7yN6iyBjLmLGe8YiFuCwnePoKfVu6ue8vLBsLJQJ.

  6. Натисніть Статус. Розгорніть вкладку Додатково, щоб побачити адресу шлюзу. Наприклад, у моїй системі адреса: http://127.0.0.1:8080.

  7. Об’єднайте шлях із кроку з посиланням з адресою шлюзу, щоб знайти вашу адресу. Наприклад, для наведеного вище прикладу, URL-адреса: http://127.0.0.1:8080/ipfs/QmaCuQ7yN6iyBjLmLGe8YiFuCwnePoKfVu6ue8vLBsLJQJ. Відкрийте цю URL-адресу в браузері, щоб побачити свій сайт.

Завантаження

Отже, тепер ви можете використовувати IPFS для локального надання файлів, що не дуже захопливо. Наступний крок — зробити їх доступними для всього світу, коли ви не в мережі.

Існує низка добре відомих сервісів закріплення (opens in a new tab). Виберіть один із них. Який би сервіс ви не використовували, вам потрібно створити обліковий запис і надати йому ідентифікатор контенту (CID) у вашому IPFS desktop.

Особисто я вважаю 4EVERLAND (opens in a new tab) найпростішим у використанні. Ось інструкції для нього:

  1. Перейдіть на інформаційну панель (opens in a new tab) і увійдіть за допомогою свого гаманця.

  2. У лівій бічній панелі натисніть Сховище > 4EVER Pin.

  3. Натисніть Завантажити > Вибраний CID. Дайте назву своєму вмісту і надайте CID із IPFS desktop. Наразі CID — це рядок, що починається з Qm, за яким ідуть 44 літери та цифри, які представляють закодований за стандартом base-58 (opens in a new tab) хеш, наприклад, QmaCuQ7yN6iyBjLmLGe8YiFuCwnePoKfVu6ue8vLBsLJQJ, але це, ймовірно, зміниться (opens in a new tab).

  4. Початковий статус: У черзі. Оновлюйте, доки він не зміниться на Закріплено.

  5. Натисніть на свій CID, щоб отримати посилання. Ви можете побачити мою програму тут (opens in a new tab).

  6. Вам може знадобитися активувати свій обліковий запис, щоб він був закріплений більше ніж на місяць. Активація облікового запису коштує близько 1 дол. США. Якщо ви закрили його, вийдіть із системи та увійдіть знову, щоб вам знову запропонували активувати.

Використання з IPFS

На цьому етапі у вас є посилання на централізований шлюз, який обслуговує ваш вміст IPFS. Коротко кажучи, ваш інтерфейс користувача може бути трохи безпечнішим, але він усе ще не є стійким до цензури. Для справжньої стійкості до цензури користувачам потрібно використовувати IPFS безпосередньо з браузера (opens in a new tab).

Після того як ви його встановите (і IPFS desktop запрацює), ви можете перейти на /ipfs/<CID> (opens in a new tab) на будь-якому сайті і отримаєте цей вміст, наданий у децентралізований спосіб.

Недоліки

Ви не можете надійно видалити файли IPFS, тому, доки ви змінюєте свій інтерфейс користувача, імовірно, краще залишити його централізованим або використовувати міжпланетну систему імен (IPNS) (opens in a new tab), систему, що забезпечує змінність поверх IPFS. Звичайно, все, що можна змінити, може бути піддано цензурі, у випадку з IPNS — шляхом тиску на особу з приватним ключем, якому він відповідає.

Крім того, деякі пакети мають проблеми з IPFS, тому, якщо ваш вебсайт дуже складний, це може бути не найкращим рішенням. І, звичайно, все, що залежить від інтеграції з сервером, неможливо децентралізувати, просто розмістивши клієнтську частину на IPFS.

Висновок

Так само, як Ethereum дозволяє вам децентралізувати аспекти бази даних та бізнес-логіки вашого dapp, IPFS дозволяє децентралізувати інтерфейс користувача. Це дозволяє вам закрити ще один вектор атаки проти вашого dapp.

Більше моїх робіт дивіться тут (opens in a new tab).

Останні оновлення сторінки: 25 лютого 2026 р.

Чи була ця інструкція корисною?