Ana içeriğe geç

Merkeziyetsiz kullanıcı arayüzleri için IPFS

ipfs
Acemi
Ori Pomerantz
29 Haziran 2024
3 dakikalık okuma

İnanılmaz yeni bir merkeziyetsiz uygulama yazdınız. Hatta onun için bir kullanıcı arayüzü bile yazdınız. Ama şimdi birisinin, bulutta bulunan tek bir sunucu olan kullanıcı arayüzünüzü çökertmek suretiyle onu sansürlemeye çalışacağından korkuyorsunuz. Bu öğreticide, kullanıcı arayüzünüzü gezegenler arası dosya sistemine (IPFS) (opens in a new tab) koyarak sansürden nasıl kaçınacağınızı öğreneceksiniz, böylece ilgilenen herkes gelecekteki erişim için onu bir sunucuya sabitleyebilecek.

Tüm işi yapmak için Fleek (opens in a new tab) gibi üçüncü taraf bir hizmeti kullanabilirsiniz. Bu öğretici, daha fazla iş olsa bile ne yaptıklarını anlayacak kadarını yapmak isteyen kişiler içindir.

Yerel olarak başlarken

Birden fazla üçüncü taraf IPFS sağlayıcısı (opens in a new tab) vardır, ancak test için IPFS'i yerel olarak çalıştırarak başlamak en iyisidir.

  1. IPFS kullanıcı arayüzünü (opens in a new tab) kurun.

  2. Web sitenizle bir dizin oluşturun. Vite (opens in a new tab) kullanıyorsanız bu komutu kullanın:

    1pnpm vite build
  3. IPFS Desktop'ta, İçe Aktar > Klasör'e tıklayın ve önceki adımda oluşturduğunuz dizini seçin.

  4. Az önce yüklediğiniz klasörü seçin ve Yeniden Adlandır'a tıklayın. Ona daha anlamlı bir isim verin.

  5. Tekrar seçin ve Bağlantıyı paylaş'a tıklayın. URL'yi panoya kopyalayın. Bağlantı, https://ipfs.io/ipfs/QmaCuQ7yN6iyBjLmLGe8YiFuCwnePoKfVu6ue8vLBsLJQJ gibi olacaktır.

  6. Durum'a tıklayın. Ağ geçidi adresini görmek için Gelişmiş sekmesini genişletin. Örneğin, benim sistemimde adres http://127.0.0.1:8080 şeklindedir.

  7. Adresinizi bulmak için bağlantı adımındaki yolu ağ geçidi adresiyle birleştirin. Örneğin, yukarıdaki örnek için URL http://127.0.0.1:8080/ipfs/QmaCuQ7yN6iyBjLmLGe8YiFuCwnePoKfVu6ue8vLBsLJQJ şeklindedir. Sitenizi görmek için bu URL'yi bir tarayıcıda açın.

Yükleme

Artık dosyaları yerel olarak sunmak için IPFS kullanabilirsiniz ki bu pek heyecan verici değil. Sonraki adım, çevrimdışıyken onları dünyaya sunmaktır.

Çok sayıda iyi bilinen sabitleme hizmetleri (opens in a new tab) vardır. Onlardan birini seçin. Hangi hizmeti kullanırsanız kullanın, bir hesap oluşturmanız ve IPFS masaüstünüzdeki içerik tanımlayıcısını (CID) ona sağlamanız gerekir.

Şahsen, 4EVERLAND (opens in a new tab) uygulamasını kullanımının en kolay olduğunu gördüm. Bunun için talimatlar şunlardır:

  1. Kontrol paneline (opens in a new tab) gidin ve cüzdanınızla giriş yapın.

  2. Sol kenar çubuğunda Depolama > 4EVER Pin'e tıklayın.

  3. Yükle > Seçilen CID'ye tıklayın. İçeriğinize bir ad verin ve IPFS masaüstünden CID'yi sağlayın. Şu anda bir CID, QmaCuQ7yN6iyBjLmLGe8YiFuCwnePoKfVu6ue8vLBsLJQJ gibi base-58 kodlu (opens in a new tab) bir karmayı temsil eden, Qm ile başlayıp 44 harf ve rakamla devam eden bir dizedir, ancak bunun değişmesi muhtemeldir (opens in a new tab).

  4. İlk durum Sırada'dır. Sabitlendi olarak değişene kadar yeniden yükleyin.

  5. Bağlantıyı almak için CID'nize tıklayın. Uygulamamı burada (opens in a new tab) görebilirsiniz.

  6. Bir aydan uzun bir süre boyunca sabitlenmesi için hesabınızı etkinleştirmeniz gerekebilir. Hesap etkinleştirme maliyeti yaklaşık 1 dolardır. Kapattıysanız, tekrar etkinleştirme istenmesi için çıkış yapın ve tekrar giriş yapın.

IPFS'den kullanma

Bu noktada, IPFS içeriğinizi sunan merkezi bir ağ geçidine bir bağlantınız var. Kısacası, kullanıcı arayüzünüz biraz daha güvenli olabilir ancak hâlâ sansüre dayanıklı değil. Gerçek sansür direnci için, kullanıcıların IPFS'i doğrudan bir tarayıcıdan (opens in a new tab) kullanmaları gerekir.

Bunu kurduktan sonra (ve masaüstü IPFS çalışırken), herhangi bir sitede /ipfs/<CID> (opens in a new tab) adresine gidebilirsiniz ve bu içeriği merkeziyetsiz bir şekilde sunulmuş olarak alırsınız.

Dezavantajlar

IPFS dosyalarını güvenilir bir şekilde silemezsiniz, bu nedenle kullanıcı arayüzünüzü değiştirdiğiniz sürece, onu ya merkezi bırakmak ya da IPFS'nin üzerinde değişkenlik sağlayan bir sistem olan gezegenler arası isim sistemini (IPNS) (opens in a new tab) kullanmak muhtemelen en iyisidir. Elbette, değişken olan her şey, IPNS durumunda karşılık geldiği özel anahtara sahip kişiye baskı yaparak sansürlenebilir.

Ek olarak, bazı paketlerin IPFS ile sorunu vardır, bu nedenle web siteniz çok karmaşıksa bu iyi bir çözüm olmayabilir. Ve tabii ki, sunucu entegrasyonuna dayanan herhangi bir şey, sadece istemci tarafını IPFS üzerinde bulundurarak merkeziyetsiz hale getirilemez.

Sonuç

Ethereum'un, merkeziyetsiz uygulamanızın veritabanı ve iş mantığı yönlerini merkeziyetsizleştirmenize olanak tanıdığı gibi, IPFS de kullanıcı arayüzünü merkeziyetsizleştirmenize olanak tanır. Bu, merkeziyetsiz uygulamanıza karşı bir saldırı vektörünü daha kapatmanıza olanak tanır.

Çalışmalarımdan daha fazlası için buraya bakın (opens in a new tab).

Sayfanın son güncellenmesi: 25 Şubat 2026

Bu rehber yararlı oldu mu?