IPFS Üzerinde Dosyalar

IPFS Üzerinde Dosyalar
Blockchain

IPFS Üzerinde Dosyalar

Bu dersler go-ipfs sürüm 0.4.8 ile test edilmiştir. Lütfen, test edilmiş olan diğer sürümleri yansıtmak için bu dosyayı github’da güncelleyin.

Hazırlıklar

Öğrenme Hedefleri

Bu dersler size şunları öğretecek:

  • Yerel IPFS node’unuza dosya eklemek
  • Dosyaları yerel IPFS node’unuzdan okumak
  • IPFS node’unuzdaki dosyaları listelemek
  • IPFS’ye, dosyaları sabitleyerek dosyalara tutmasını sağlamak

Anahtar Kavramlar

  • IPFS ve düzenli dosya sisteminiz arasındaki fark
  • Dosyaları Hash’lerine göre tanımlama
  • IPFS Çöp Toplama
  • IPFS Node’unda dosyaları sabitleme

IPFS’ye İçerik Ekleme ve Geri Alma

Hedefler

Bu dersi yaptıktan sonra yapabilecekleriniz:

  • Bir dosyanın içeriğini IPFS’ye ekleyin
  • Hash kullanarak IPFS’den içerik okuyun
  • IPFS hashleri ve eklediğiniz içerik arasındaki ilişkiyi açıklamak

ADIMLAR

ADIM 1 : IPFS’ye ekleyeceğiniz bir dosya oluşturun.

IPFS’ye herhangi bir içerik türü ekleyebilirsiniz. Bu ders için bazı metin içeriğini `.txt` dosyasına koyacağız, ancak aynı işlemi herhangi bir içerikle veya herhangi bir dosyayla yapabilirsiniz.
Bu örnek için yeni bir dizin oluşturmak iyi bir fikir olur. Yeni bir klasör (örneğin, ~/Desktop) koymanın rahat olduğu bir yere gidin ve sonra yeni bir dizin oluşturun ve ona gidin. Örnek komut:

$ cd ~/Desktop

$ mkdir ipfs-klasor


$ cd 
ipfs-klasor

Şimdi, textdosyam.txt adlı bir dosya oluşturun ve içindeki “metnimin 1. sürümü” metnini ekleyin. Bunu komut satırında yapmanın kolay bir yolu bu komutla:

echo "metnimin 1. sürümü" > textdosyam.txt

Dosyanın içeriğini cat komutunu kullanarak okuyabilirsiniz:

$ cat textdosyam.txt
metnimin 1. sürümü

2. Adım: Dosyayı IPFS’ye Ekleme


$ ipfs add textdosyam.txt
added QmZtmD2qt6fJot32nabSP3CUjicnypEBz7bHVDhPQt9aAy textdosyam.txt

Bir önceki anlatımda, ipfs komutunu -w flag olmadan textdosyam.txt dosyasını eklediğimizde, ipfs sadece bir hash döndürdü. Bu sefer iki hash döndü. İlk hash QmZtmD2 … öncekiyle aynı. Dosyanın içindeki içeriğin hash’ı. İkinci hash QmPvaEQF … içeriğimizin etrafında ipfs “toplanmış” dizin ve dosya adı bilgilerinin hash’ıdır.
Bir sonraki adımda, bu dizin ve dosya adı bilgilerinin neye benzediğini ve nasıl kullanabileceğimizi görmek için ipfs komutlarını kullanacağız.

3. Adım: Dizin Bilgilerini Listeleyin

-W flag ipfs’e dizin ve dosya adı bilgilerini içerikle birlikte eklemesini söyler – “dosyayı bir dizinde toplar”. Bu konuda daha fazla bilgi için ipfs add –help komutunu çalıştırın ve açıklamayı buradan okuyun.
Bu dizin ve dosya adı bilgilerini listelemek için ipfs ls komutunu kullanın. Başlık bilgilerini dahil etmek için -v flag’ını kullanacağız. Bu komut hakkında daha fazla bilgi için ipfs ls –help ‘i çalıştırın.
$ ipfs ls -v QmPvaEQFVvuiaYzkSVUp23iHTQeEUpDaJnP8U7C3PqE57w
Hash                                           Size Name
QmZtmD2qt6fJot32nabSP3CUjicnypEBz7bHVDhPQt9aAy 29 textdosyam.txt

Bu komut ipfs ls QmPvaEQFVvuiaYzkSVUp23iHTQeEUpDaJnP8U7C3PqE57w, “hash olan QmPvaEQFVvuiaYzkSVUp23iHTQeEUpDaJnP8U7C3PqE57w dizini tarafından başvurulan dosyaları listeleme” anlamına gelir.
Yanıt, dizinin bir dosya içerdiğini gösteriyor – “textdosyam.txt” – ve bu dosyanın içeriğinin hash’ı QmZtmD2q …
Bu bilgi okumak için ipfs cat yerine ipfs ls kullanmak zorunda kaldık çünkü bir dizin. İpfs cat kullanarak dizini okumaya çalışırsanız bir hata alırsınız:
$ ipfs cat QmPvaEQFVvuiaYzkSVUp23iHTQeEUpDaJnP8U7C3PqE57w
Error: this dag node is a directory

4. Adım: Ana dosyanın hash değerini kullanarak dosyanın içeriğini okuyun

Dosyanın içeriğini aşağıdaki gibi okumak için yönetmenin hash kullanımını kullanabiliriz:

$ ipfs cat QmPvaEQFVvuiaYzkSVUp23iHTQeEUpDaJnP8U7C3PqE57w/textdosyam.txt
metnimin 1. sürümü

Bu komut, “hash olan QtPvaEQFVvuiaYzkSVUp23iHTQeEUpDaJnP8U7C3PqE57w dizini içinde textdosyam.txt olarak adlandırılan içeriği döndür” anlamına gelir.
Denenecek bazı şeyler:

  1. Birden çok dosya ile bir dizin oluşturun. Ipfs’e dizini ve tüm dosyalarını yinelemeli olarak eklemesini söyleyin.
  2. Aynı içeriğe sahip iki farklı dosya oluşturun. Ipfs add -w ile ipfs’a ekleyin ve ipfs’nin dizin ve dosya adı bilgilerini oluştururken bu içeriğin hash değerini yeniden kullandığından emin olun.

Ipfs deponuza bir dosya eklediğinizde, ipfs dosya içeriğinin kriptografik hash’ını hesaplar ve size hash değerini döndürür. Daha sonra dosyanın içeriğini referans almak için hash kullanabilir ve ipfs deposundan geri okuyabilirsiniz.
Dosya adları ve yollar gibi bilgileri takip edebilmek için ipfs, eklediğiniz dosya içerikleri etrafında dizin ve dosya adı bilgilerini “toplama” olanak tanır. Bu dizin ve dosya adı bilgilerinin kendi hashları vardır, bu da ipfs deposundan, hashların, dosya adlarının ve dizin adlarının bir kombinasyonu olan “ipfs path” ı kullanarak içeriğin alınmasını mümkün kılar.

IPFS Deponuzda bir dosyanın kalıcı olduğundan emin olmak

IPFS deponuzdaki “pinning” dosyalarını ve ipfs çöp toplayıcı ile dosyaları kaldırmayı kapsar.
Link: IPFS