Bir fotoğraf kabinini IPFS'ye nasıl entegre edeceğinizi ve web3.storage ile selfie'nizi gezegenler arası hale getirmeyi öğrenin.
Web Zirvesi 2022 sırasında, Filecoin etkinlikleri ve yaratıcı ekibi, Web3, InterPlanetary Dosya Sistemi (IPFS) ve Filecoin ağının dağıtılmış depolama çözümleri hakkında daha fazla bilgi edinmek isteyen 3500'den fazla ziyaretçinin ilgisini çeken kongrede muhteşem bir sergi standı kurdu.
Filecoin, dosyaları IPFS Protokolü aracılığıyla Web3'te depolamak ve kalıcı kılmak için geniş bir çözüm yelpazesi sunar. En popüler ve kullanımı kolay olanlardan biri, geliştiriciler için “ IPFS ve Filecoin'e tek API çağrısı” çözümü olan web3.Storage'dır.
IPFS, eşler arası bir ağda dosya paylaşımına ve dağıtılmış bir bilgisayar ağında veri paylaşımına izin veren bir web protokolüdür. Filecoin, bir depolama pazarının IPFS'deki dosyaları uzun süre ve çok az maliyetle sürdürmesini sağlayan açık kaynaklı bir protokol oluşturdu. Bu çözüm, Web3'teki depolama sorununu çözüyor ve bildiğimiz şekliyle interneti, gezegenler arası iletişim gibi zorlukların üstesinden gelebilecek şekilde geliştiriyor.
Gezegenler arası iletişim selfieleri de içermelidir ! Web3.storage'a bağlanmak ve selfie'nizi IPFS'ye yüklemek için Sparkbooth adında bir fotoğraf kabini yazılımı oluşturmak için hafif bir node.js uygulamasını nasıl kullanacağınızı öğrenin.
O nasıl çalışır?
Fotoğraf kabinlerinin ana parçaları şunlardır: bir dijital kamera, bazı ışıklar, dokunmatik ekranlı bir bilgisayar, fotoğraf çekmek için kamerayı kontrol eden bazı yazılımlar ve bunları IPFS ve Filecoin ağına yükleme yeteneği.
Olayların akışı şuna benzer:
Dokunmatik ekran, fotoğraf çekmek için kullanıcıdan komutlar alıyor
Photo Booth yazılımı (Sparkbooth olarak adlandırılır) harekete geçmek için kamerayla konuşacak
Sparkbooth fotoğrafı yerel olarak bilgisayarda saklar
Sparkbooth kullanıcıya bir sunucuya göndermek isteyip istemediklerini sorar (web3.storage aracılığıyla)
Sparkbooth, fotoğrafı, kullanıcı adını, şifreyi ve başarı mesajını bir API çağrısında * adresine gönderir.
fil-fotoğraf-kabin-yükleyici *özel nodejs uygulaması
fil-photobooth-uploader uygulaması şunları yapacaktır:
kullanıcı adını ve şifreyi doğrula
fotoğrafın formatını neye göre değiştirin
web3.depolama kabul ederAPI jetonunu/anahtarını sistemden alır ve gönderir __web3. __Depolamak
w__ eb3.storage __ fotoğrafı IPFS ağına gönderir ve Filecoin'e yedekler
w__ eb3.storage __ IPFS İçerik Kimliğini (CID) sunucuya geri döndürecektir.
fil-fotoğraf-kabin-yükleyici fil-fotoğraf-kabin-yükleyici CID URL'sinin http sürümünü aracılığıyla oluşturacakweb3.depolama IPFS ağ geçidifil-photo-booth-uploader, Sparkbooth 7'ye bir başarı mesajı döndürüyor
Sparkbooth bir başarı mesajı alır: "Fotoğrafınız IPFS'ye şu adresten gönderilir:
web3.depolama . :-)” ve fotoğrafın URL'si
Sparkbooth, ekranda oluşturulan QR kodunu görüntüler
Görünüm? Tıpkı normal bir fotoğraf kabini gibi:
IPFS CID URL'sinin bir örneği:
https://bafybeiei7zadrztflc6krunhvqr3umzre7xjxfzvmyjs2ob2w7yykq63ea.ipfs.w3s.link/20221104172648.jpg |
---|
Bir örnek:
Akışın tamamı şöyle görünür:
IPFS ve CID'ler hakkında daha fazla bilgi edinmek için lütfen şu adresi ziyaret edin:
Adım adım rehber
Önkoşullar
Bu öğreticiyi tamamlamak için ihtiyaç duyabileceğiniz birkaç şey vardır:
- 📸 Kamera - herhangi bir modern Canon
- 💻 Bilgisayar - dokunmatik ekranlı hepsi bir arada masaüstü veya dokunmatik ekranlı dizüstü bilgisayar
- 👨🏻💻 Fotoğraf Kabini Yazılımı - Sparkbooth 7
- 🤖 Bir uygulama sunucusu - Kolaylık sağlamak için Heroku'yu kullanıyorum
- 📦 IPFS Etkinleştirilmiş Ürün - bir web3.storage hesabı
- 🌎 İnternet bağlantısı - WWW ile kablolu veya kablosuz (wifi) konuşmanın bir yolu\
Adım 1, Web3.Storage Kurulumu
- Oluşturmak
web3.depolama hesabınız aracılığıylaGithub hesap veya e-posta
- Hesap > API Jetonu'na gidin
- Yeni bir API Token oluşturun, ona istediğiniz adı verin (örn. Filecoin Web Summit 2022)
- Kopyala düğmesini kullanarak API anahtarını kopyalayın
- Bunu daha sonra kullanmak üzere kaydedin Bunu fil-photo-booth-uploader uygulamasına bir ortam değişkeni olarak yerleştirmeniz gerekecektir.
2. Adım: nodejs uygulama dağıtımı
Sparkbooth 7 ve web3.storage'ın güzel bir şekilde konuşabilmesi için dillerini çevirme konusunda biraz yardıma ihtiyacımız olacak. Nodejs uygulaması bunu başarmamıza yardımcı olacak. Bir sunucuda barındırılması gerekecek ve bunun için Heroku kullanıyoruz (Barındırmanın Web3 yerel bir yolunu biliyorsanız, lütfen bana DM gönderin. Denemeyi çok isterim).
- İlk önce şuraya git:
github.com (Hesabınız yoksa yeni bir hesap açın)
- Ziyaret edin
Filecoin Fotoğraf Kabini Yükleyici ve ardından Çatal'a tıklayın. Bu, kaynak kodunu kendi hesabınıza veya deponuza kopyalamanıza ve onu Heroku'ya bağlamanıza olanak tanır.
- Şununla kaydolun:
Heroku hesabı . Heroku, uygulamaları veya sunucuları neredeyse ücretsiz olarak çalıştırmaya yardımcı olan merkezi bir geliştirici platformu olan AWS'ye benzer.
- Yeni bir uygulama oluşturun ve etkinliğin adını buna girin.
- Muhtemelen her etkinlik için yeni bir uygulamaya ihtiyacımız olacak.
- "Dağıtım yöntemi" altında GitHub'u seçin ve ardından GitHub hesabınızda oturum açın. Uygulamayı oluşturmak ve sunucuyu çalıştırmak için Heroku'ya kodu kendi içine çekmesi için yetki verin.
- "GitHub'a Bağlan" altında, az önce çatalladığınız depo adını (ör. fil-photo) arayın ve ardından kod deposunu bağlayın.
- Tüm ayarları bırakın ve ilk yapıyı başlatmak için “Dube Dağıt”a tıklayın. Heroku, uygulama türünü tanıyabilecek kadar akıllıdır. Sonraki: inşa edin ve dağıtın.
- Ancak sunucu çalışmaya başlamadan önce kullanıcı adını, şifreyi ve
web3.depolama Sunucu ortamındaki API Token. Heroku, onları internete maruz bırakmadan güvenli bir şekilde erişebilir. “Ayar”a ve ardından “Yapılandırma Değişkenleri”ne gidin.
- Aşağıdaki yapılandırmaları girin, SPARKBOOTH_PASSWORD, SPARKBOOTH_USER, W3S_API_TOKEN'i şifre, kullanıcı adı ve şifreyle değiştirin.
web3.depolama sırasıyla API jetonu. İsim tam olarak yukarıdaki gibi olmalıdır.
- Uygulama şu anda çalışıyor olmalı! Daha sonra sparkbooth 7'ye eklenecek URL'yi bulmak için "Ayarlar" altında "Etki Alanları"na gidebilirsiniz.
Adım 3: Sparkbooth 7 Kurulumu
Son adım, kurulum akışını tamamlamak için özel nodejs uygulamamızla konuşmak üzere fotoğraf kabini dizüstü bilgisayarındaki yazılımı hazırlamaktır. \
- Git
Sparkbooth.com . İndirmekKıvılcım kabini 7 DSLR'ler , ödemeklisans ücreti veya denemeyi kullanın.
- Sparkbooth'u açın ve satın alma işleminizi onaylayın.
- Uygulamayı açtığınızda ekranı kaplayacaktır ancak çıkmak için “ESC” tuşuna basabilirsiniz. Sol üstteki ayarlara gidin:
- “Hesaba Gönder” seçeneğini yapılandırın ve ardından kullanmak istediğiniz kullanıcı adını ve şifreyi girin. "Hizmet URL'si"nin Heroku uygulama adresi + "/upload-w3s" olması gerekir. (Örneğin http://fil-photo-booth-uploader.herokuapp.com:443/upload-w3s)
- Bağlantıyı test butonunu kullanarak test edebilirsiniz. Bu, bir başarısızlık mesajıyla sonuçlanacaktır ancak API çağrısı yine de Heroku uygulamasına gidecek ve cihazınıza bir test fotoğrafı yerleştirecektir.
web3.depolama hesap. Web3.storage hesabınızdaki test görüntüsünü kontrol edebilirsiniz. “Fotoğraf kabini testi” fotoğrafını görebiliyorsanız kurulum başarılı demektir! TıklamakBurada kontrol etmek.
w3up beta yakında geliyor
Bu uygulama 2022'de oluşturuldu ve mevcut web3.storage API'lerini kullanıyor. Bu yazının yazıldığı sırada web3.storage'da yeni beta w3up API'leri mevcuttu.
Bazı iyileştirme önerileri
Uygulama mükemmel değil! Geliştirilebilecek birkaç alan var:
- Güvenlik
Bu sadece zemini göstermek için bir hile olsa da, nodejs uygulamasının güvenliği ideal değildir. Uygulama mantığında şifrelerin ve kullanıcı adının doğrulanması tercih edilmez. Çağrıyı uygulamamıza iletmeden önce uygulamayı, başlıktaki yetkilendirmeyi doğrulayan bir güvenlik duvarı veya API ağ geçidinin arkasına koymamız gerektiğine inanıyorum.
- Deneyim
Sparkbooth 7 harika, ancak kullanıcı arayüzü oldukça sınırlayıcı görünüyor. Bunu biraz daha özelleştirebilsek iyi olur. Belki açık kaynaklı bir fotoğraf kabini yazılımı bunu başarmamıza yardımcı olabilir?
- Son Fotoğraf Galerisi
Potansiyel olarak ziyaretçilere en son fotoğrafları göstermek için ayrı bir bilgisayar kullanabiliriz. Kendilerine e-postayla göndermek istedikleri fotoğrafı seçebilir, QR kodunu tekrar görüntüleyebilir veya sosyal medyada paylaşabilirler. Bu, bir ön uç geliştirici için çok harika bir proje olabilecek fil-photo-booth-uploader için bir ön uç oluşturmayı içerecektir.
- Merkezi olmayan bir uygulama arka ucu kullanın. Belki Fluence veya IPVM gibi biri yardımcı olabilir.
Çözüm
Üç günlük Web Zirvesi sırasında, Filecoin fotoğraf standında kongredeki internet bağlantısı sorunları nedeniyle %99 çalışma süresi ve %1 kesinti yaşandı. Toplamda fotoğraf kabini Filecoin Ağında 934 fotoğraf yayınladı. Bu, web3.storage'ın çok kullanışlı hizmeti sayesinde gezegenler arası yolculuğa hazır neredeyse bin selfie anlamına geliyor!
Fotoğraf kabini de ünlüdür. Üçüncü gün CNN'den bir muhabir de stantla röportaj yaptı (evet, stant meşhur oluyor... ben değil).
CNN muhabiri, Lizbon, Portekiz'deki Web Zirvesi'nde Filecoin Fotoğraf Kabininde röportaj yapıyor
Etkinlikleriniz, toplantılarınız, buluşmalarınız, partileriniz için veya sadece eğlence için kendi gezegenler arası fotoğraf standınızı oluşturmak için lütfen bu kılavuzu kullanmaktan çekinmeyin.
Filecoin ağı artık 16EiB depolama kapasitesine sahip ve üzerinde 300PiB'den fazla veri depolanıyor. Bu projeye katkıda bulunmanın veya bu projeyi kullanmanın birçok yolu vardır. Dahil olma hakkında daha fazla bilgi edinin