Benim açımdan Decentralized uygulamalar, decentralized no-sql veritabanları üzerinde kodları bulunan uygulamalardır.
Bir decentralized uygulama hazırlamak için yapılması gerekenlerle ilgili daha önce makale kaleme almıştım. Güncellenmiş bilgileri revizyon yapıyorum:
- Centerelized Hükümet Uygulama
Hükümet DApp’ın klasik bir sanal sunucuda çalışan bir MEAN uygulama olarak tasarlanması, ve decentrelized Firebase veritabanlarında DApp uygulamalarını koşturması önemli bir performans avantajı sağlar.
Tanım: Merkezi Hükümet Uygulama (MEAN uygulama)
Programlama dili: NodeJS
Kullandığı veritabanı: MongoDb
Frontend Framework: NodeJS ile çalışan Angular (TypeScript) (SSR destekli)
Mobile: Flutter (Dart)
Sunucu: Hükümet uygulama Debian yüklü sanal sunucu üzerinde yayınlanabilir. (Not: NodeJS projeleri için Google Cloud ve Firebase hosting çözümlerine bakılacak.) - Decenterelized No-SQL Firebase veritabanları ağı
Bulut üzerinde decenterelized No-SQL Firebase veritabanı ağı kurmak ve bu ağın üzerinde hashlenmiş olarak DApp uygulamalarını saklı tutmak, hükümet uygulama üzerinden kod ekleme/düzenleme yapabilmek yüksek performanslı ölçeklenebilir DApp altyapısı için idealdir.
DApp uygulamaları için ana programlama dili: Golang veya NodeJS
DApp’lar için tercih edilen veritabanı: Firebase
Frontend katmanları için tercih edilen teknolojiler: Angular (TypeScript), Flutter (Dart).
Centerelized Hükümet Uygulama Analizi (MEAN Boilerplate incelenecek)
- Government.Model => entityler
- Government.Data => Context ve Repository’ler
- Government.Service => Üyelikle entegre Command’lar, Handler’lar, Query’ler
- Government.Api => Üyelikle entegre Generic Service
- Government.Web => Angular (TypeScript) web arayüzü
- Government.Mobile => Flutter (Dart) mobil arayüz
Web ve Mobil arayüzlerden yapılabilecek işler:
- Yeni DApp oluştur
- DApp kodunu yaz/geliştir
- DApp kodunu test et/çalıştır
- DApp’ı yayınla
Sonraki Hedefler:
- Hello World DApp’ı
- Üyelik DApp’ı
- E-ticaret DApp’ı
- Kriptopara DApp’ı
Not: Tüm bu DApp’lar backend’dir. Bu backend kodları/servisleri/fonksiyonları Hükümet uygulama üzerinden çalıştırılabilir olacaktır. Böylece tüm DApp’lara hükümet uygulama üzerinden erişebileceğiz.
DApp’lar için geliştirilen Frontend’ler hükümet uygulama üzerinden DApp’larla konuşur. Frontend teknolojileri: Web için Angular (TypeScript), Mobil için Flutter (Dart).
Bu mimarinin avantajları:
- Yüksek performans
- Blockchain tabanlı teknolojilere alternatif (Not: Firebase üzerindeki DApp’lar DApp prensiplerine uygun olmalıdır.)
- Genesis yok.
- Özel ve gizli hash algoritması eklenebilir, bu yüzden daha güvenli.
- Gerekirse Blockchain eklenerek değiştirilmediğinden daha bi emin olunabilir (Konunun anlaşılması için ek analiz ve zaman lazım).
- İstenirse bulut yerine yerel sistemlere taşınabilir.
Hedefler:
- Government MEAN yazılımı (Backend+Angular Frontend)
- Government için Flutter mobil uygulama (Telefondan DApp oluşturma/güncelleme)
- DApp’lar için Firebase altyapısı
- DApp’lar için frontend’ler
Tüm projeler Visual Studio Code ile geliştirilebilir.