Przejdź do głównej zawartości

IPFS dla zdecentralizowanych interfejsów użytkownika

ipfs
Początkujący
Ori Pomerantz
29 czerwca 2024
3 minuta czytania

Udało Ci się stworzyć niesamowitą nową dapką. Udało Ci się nawet napisać dla niej interfejs użytkownika. Ale teraz obawiasz się, że ktoś spróbuje ją ocenzurować, wyłączając Twój interfejs użytkownika, który jest tylko jednym serwerem w chmurze. W tym samouczku dowiesz się, jak uniknąć cenzury, umieszczając swój interfejs użytkownika w międzyplanetarnym systemie plików (IPFS) (opens in a new tab), dzięki czemu każda zainteresowana osoba będzie mogła go przypiąć na serwerze w celu przyszłego dostępu.

Możesz użyć usługi strony trzeciej, takiej jak Fleek (opens in a new tab), aby wykonać całą pracę. Ten samouczek jest dla osób, które chcą zrobić wystarczająco dużo, aby zrozumieć, co robią, nawet jeśli wymaga to więcej pracy.

Rozpoczęcie pracy lokalnie

Istnieje wielu zewnętrznych dostawców IPFS (opens in a new tab), ale najlepiej zacząć od uruchomienia IPFS lokalnie w celach testowych.

  1. Zainstaluj interfejs użytkownika IPFS (opens in a new tab).

  2. Utwórz katalog z Twoją stroną internetową. Jeśli używasz Vite (opens in a new tab), użyj tego polecenia:

    1pnpm vite build
  3. W IPFS Desktop kliknij Importuj > Folder i wybierz katalog utworzony w poprzednim kroku.

  4. Wybierz właśnie przesłany folder i kliknij Zmień nazwę. Nadaj mu bardziej znaczącą nazwę.

  5. Wybierz go ponownie i kliknij Udostępnij link. Skopiuj adres URL do schowka. Link będzie podobny do https://ipfs.io/ipfs/QmaCuQ7yN6iyBjLmLGe8YiFuCwnePoKfVu6ue8vLBsLJQJ.

  6. Kliknij Status. Rozwiń zakładkę Zaawansowane, aby zobaczyć adres bramki. Na przykład, w moim systemie adres to http://127.0.0.1:8080.

  7. Połącz ścieżkę z kroku z linkiem z adresem bramki, aby znaleźć swój adres. Na przykład dla powyższego przykładu adres URL to http://127.0.0.1:8080/ipfs/QmaCuQ7yN6iyBjLmLGe8YiFuCwnePoKfVu6ue8vLBsLJQJ. Otwórz ten adres URL w przeglądarce, aby zobaczyć swoją stronę.

Przesyłanie

Teraz możesz używać IPFS do serwowania plików lokalnie, co nie jest zbyt ekscytujące. Następnym krokiem jest udostępnienie ich światu, gdy jesteś offline.

Istnieje wiele dobrze znanych usług przypinania (opens in a new tab). Wybierz jedną z nich. Niezależnie od tego, z której usługi korzystasz, musisz utworzyć konto i podać identyfikator treści (CID) w Twoim IPFS desktop.

Osobiście uważam, że 4EVERLAND (opens in a new tab) jest najłatwiejszy w użyciu. Oto wskazówki:

  1. Przejdź do pulpitu nawigacyjnego (opens in a new tab) i zaloguj się za pomocą swojego portfela.

  2. W lewym panelu bocznym kliknij Przechowywanie > 4EVER Pin.

  3. Kliknij Prześlij > Wybrany CID. Nazwij swoją zawartość i podaj CID z IPFS desktop. Obecnie CID to ciąg znaków, który zaczyna się od Qm, po którym następują 44 litery i cyfry reprezentujące zakodowany w base-58 (opens in a new tab) hasz, taki jak QmaCuQ7yN6iyBjLmLGe8YiFuCwnePoKfVu6ue8vLBsLJQJ, ale prawdopodobnie to się zmieni (opens in a new tab).

  4. Początkowy status to W kolejce. Odświeżaj, aż zmieni się na Przypięty.

  5. Kliknij swój CID, aby uzyskać link. Moją aplikację możesz zobaczyć tutaj (opens in a new tab).

  6. Może być konieczne aktywowanie konta, aby było ono przypięte dłużej niż przez miesiąc. Aktywacja konta kosztuje około 1 USD. Jeśli to zamkniesz, wyloguj się i zaloguj ponownie, aby ponownie zostać poproszonym o aktywację.

Używanie z IPFS

W tym momencie masz link do scentralizowanej bramki, która serwuje Twoją zawartość IPFS. Krótko mówiąc, Twój interfejs użytkownika może być nieco bezpieczniejszy, ale wciąż nie jest odporny na cenzurę. Dla prawdziwej odporności na cenzurę użytkownicy muszą korzystać z IPFS bezpośrednio z przeglądarki (opens in a new tab).

Gdy już to zainstalujesz (i gdy IPFS desktop działa), możesz przejść do /ipfs/<CID> (opens in a new tab) na dowolnej stronie i otrzymasz tę zawartość, serwowaną w sposób zdecentralizowany.

Wady

Nie można niezawodnie usuwać plików IPFS, więc dopóki modyfikujesz swój interfejs użytkownika, prawdopodobnie najlepiej jest albo pozostawić go scentralizowanym, albo użyć międzyplanetarnego systemu nazw (IPNS) (opens in a new tab), systemu, który zapewnia zmienność na bazie IPFS. Oczywiście wszystko, co jest zmienne, może być cenzurowane, w przypadku IPNS poprzez wywieranie presji na osobę posiadającą klucz prywatny, któremu on odpowiada.

Dodatkowo, niektóre pakiety mają problem z IPFS, więc jeśli Twoja strona internetowa jest bardzo skomplikowana, to może nie być to dobre rozwiązanie. I oczywiście nic, co opiera się na integracji z serwerem, nie może zostać zdecentralizowane tylko przez umieszczenie strony klienta w IPFS.

Wnioski

Tak jak Ethereum pozwala zdecentralizować bazę danych i aspekty logiki biznesowej Twojej dapki, tak IPFS pozwala zdecentralizować interfejs użytkownika. To pozwala wyeliminować kolejny wektor ataku przeciwko Twojej dapce.

Zobacz więcej mojej pracy tutaj (opens in a new tab).

Strona ostatnio zaktualizowana: 25 lutego 2026

Czy ten samouczek był pomocny?