Web3 Yığını: Geliştiriciler için Referans
Yayınlanan: 2022-04-11Web3 projeleri oluşturmaya dahil olmak ister misiniz? Bu referans, en popüler katmanları ve geliştirme ortamlarını özetleyecektir.
Şu anda bu konu – Web3 – etrafında oldukça fazla vızıltı olduğu bir sır değil. Çok sayıda insan, Web3 meta veri tabanında yeni bir başlangıç yapmak için FAANG'daki işlerini ve önde gelen startup'ları geride bıraktı.
Ve benzer bir kaşıntı hissettiğinizi varsayarsak – nereden başlarsınız? Bu makale tamamen Web3 geliştirmeye doğrudan atlamak isteyenlere yöneliktir. Odak noktamız, her biri yolculuğunuzu başlatmak için değerli kaynaklar içeren çeşitli kategoriler üzerinde olacaktır.
Bu referansı erişilebilir kılmak için kaynakları ayrı bölümlere ayıracağım.
Ve o bölümler:
- Katmanlar. Geliştirmede kullanılan en popüler Blockchain'ler.
- Geliştirme ortamı. Bu katmanlara dağıtım yapmanıza yardımcı olacak araçlar.
- Kimlik. Cüzdan kimlikleri nasıl oluşturulur ve kripto oturum açma nasıl kullanılır?
- Depolamak. P2P teknolojisini kullanarak kalıcı veri depolama oluşturma.
- API. Bilgi çekmek için ana ağlara doğrudan erişim.
- Başlangıç aşaması. Ön uç şeyler için popüler çerçeveler.
Yığın , belirli bir hedefe ulaşmak için kullanılan belirli bir teknoloji kombinasyonunu tanımlamak için kullanılan bir terimdir. Tam yığın geliştirme veya bu durumda Web3 yığını olsun. Web3 uygulamaları ve ürünleri oluşturmaya dahil olan teknolojinin oldukça “geçici” olduğunu belirtmekte fayda var.
Bir anlamda, daha fazla insan blok zincirinde yazılım oluşturmaya alıştıkça pek çok şey değişiyor. Dolayısıyla, bu referans için amacımız, gerçek dünya projelerinde zaten kullanılmış olan kaynaklardan bahsetmektir.
Bütün bunlar kulağa hoş geliyorsa, başlayabiliriz.
Katmanlar
Herhangi bir Web3 projesinin temeli bir katmanla başlar. Uygulamanızın veya ürününüzün üzerinde yaşayacağı belirli blok zinciri ağı.
#1. Ethereum
Ethereum, yerel akıllı sözleşme teklifi sayesinde popülerlik kazandı.
O zamandan beri geliştiriciler, onu yeni nesil Web3 uygulamaları oluşturmak için tercih edilen blok zinciri katmanı haline getirdiler. Aynı zamanda birçok NFT projesi için tercih edilen katmandır, bu nedenle NFT ile ilgili uygulamalar üzerinde çalışmak istediğinizi düşünüyorsanız, Ethereum'un kutudan çıkaracağı çok şey var.
#2. Çokgen
Poligon katmanı, daha düşük işlem ( gaz ) ücretlerini korurken daha karmaşık güvenlik uygulamaları sunan bir Ethereum yan zinciridir. İşlem sayısının son derece yüksek olduğu ancak işlem fiyatının düşük olduğu projeler için popüler bir seçimdir.
Çokgen bir yan zincir olduğundan, genellikle Katman 2 Blok Zinciri olarak da adlandırılır. Bununla birlikte, Polygon'un hızlı gelişimi, onu yalnızca NFT uygulamaları için değil, aynı zamanda dApp'ler ve ödeme sistemleri için de popüler bir seçim haline getiriyor.
Diğer önemli Web3 Katmanları:
- Solana. Büyük ölçekte DeFi uygulamaları oluşturmak amacıyla oluşturulmuş bir blok zinciri.
- YAKIN Protokol. Muazzam geliştirici kaynaklarına sahip akıllı sözleşme blok zinciri.
- Puantiye. Yönetişim projeleri oluşturmak için çapraz blok zincir protokolü.
- Tezos. Merkezi olmayan yaratıcı platformlar oluşturmak için enerji odaklı bir platform.
- Fantom. dApp'ler oluşturmak için Açık Kaynaklı akıllı sözleşme platformu.
Geliştirme Ortamı
Geliştirme ortamı, "sıfırdan başlama" bölümünün tamamını atlamanıza olanak tanır. Bunlar şu an için çoğunlukla Ethereum tabanlı.
#1. Baret
Hardhat, Ethereum geliştiricileri için bir geliştirme ortamıdır. Geliştiricilerin merkezi olmayan uygulamalar ve aynı zamanda akıllı sözleşmeler oluşturma ve bir araya getirme sürecini otomatikleştirmelerine yardımcı olarak çalışır. Popülerliği, uygulamalarınızı yerel olarak test etmek için kullanabileceğiniz Ethereum ağının bire bir kopyası olan yerleşik bir Hardhat Ağından kaynaklanmaktadır.
#2. yer mantarı
Truffle, akıllı sözleşmeler oluşturmak için JavaScript tabanlı bir çerçevedir. EVM'yi (Ethereum Sanal Makinesi) kullandığınızı varsayar ve size geliştirme sürecini hızlandıracak araçlar sunar. Bu araçlardan bazıları, otomatik test, bir sözleşme derleyici ve kişilerinize doğrudan konsoldan erişmek için ayrı araçlar içerir.
Diğer önemli Web3 geliştirme ortamları:
- Dökümhane. Ethereum'da uygulamalar oluşturmak için pas tabanlı araç seti.
- kek. Akıllı sözleşmeler oluşturmak ve test etmek için Python tabanlı çerçeve.
- Çapa. Solana ile çalışmak için Rust ile yazılmış bir çerçeve.
- Gemiye bin. Ethereum'un üzerine inşa edilecek hepsi bir arada çerçeve.
- Gözleme. Akıllı sözleşmeleri test etmek için özel olarak oluşturulmuş çerçeve.
Kimlik
Geleneksel kullanıcı adı ve parola doğrulamasının aksine, Web3'te geliştiriciler hem cüzdan hem de genel anahtarların kullanımını uygular.
#1. CüzdanBağlan
WalletConnect, bir mobil cüzdan aracılığıyla dApp'lere bağlanmak için kullanılan açık kaynaklı bir protokoldür. WalletConnect'i kullanmanın ana konsepti, kullanıcıların daha sonra kimliklerini doğrulamak ve Web3 uygulamasına yeni bir bağlantıyı onaylamak için kullanabilecekleri bir QR kodunu taramayı çözer.
Pillar veya MetaMask gibi cüzdanlar biliyorsanız, hepsi doğrudan WalletConnect ile entegre olur. Bu aynı zamanda birçok geliştirici kaynağına erişiminiz olduğu anlamına gelir. Son olarak, protokol tüm büyük blok zincirleriyle çalışır ve sık sık daha fazla zincir eklenir.
#2. Ladin
Spruce, merkezi olmayan kimlik kavramını blok zincirinin dışındaki alanlara getirmeyi amaçlayan Y Combinator destekli bir girişimdir. Bu kit, kullanıcıların sosyal medya, kişisel web siteleri ve blok zinciri ağları gibi çeşitli ortamlarda dijital kimliklerini doğrulamalarına yardımcı olmayı amaçlamaktadır.
Depolamak
Web3'te medya – videolar, fotoğraflar vb. – nasıl depolarsınız? Bu çoğunlukla P2P dosya depolama protokolleri kullanılarak yapılır.
#1. IPFS
IPFS, dünyanın önde gelen P2P (eşler arası) depolama protokolüdür. IPFS'ye bir dosya yüklediğinizde, bu dosya yeniden boyutlandırılır, özel bir karma ile güvence altına alınır ve benzersiz tanımlayıcısı olarak bir parmak izi atanır.
Daha sonra, bu ağın parçası olan diğer düğümler (sistemler veya kişiler) dosyaya erişebilir, doğrulayabilir ve önbelleklerinde saklayabilir. Önbelleğe alındığında, dosyaya doğru erişim yöntemiyle herkes erişebilir.
Sonuç olarak, IPFS'nin amacı yalnızca merkezi olmayan bir depolama sistemi sağlamak değildir. Ama aynı zamanda, içeriğin yıllar yerine birkaç on yıllık bir süreye sahip olmasını sağlamak için. Örneğin, Bir web sitesi bir süre sonra kaybolur ve medya dahil tüm içeriği kaybolur. IPFS buna gerçek bir çözüm sunar.
#2. Skynet
Skynet, Sia (merkezi olmayan) bulut ağını kullanarak erişilebilir dosya paylaşımı sağlar. Aslında ana sayfadan hemen kullanabilirsiniz. Sadece bir dosya yükleyin ve size bir bağlantı verilecektir. API anahtarınız için kaydolmadığınız sürece 90 gün sürer. Bununla birlikte, geliştirme bağlamında - Skynet, aynı kullanım durumunu kendi merkezi olmayan uygulamanız içinde çoğaltmanızı kolaylaştırır.
#2. dosya tabanı
Filebase, Amazon S3 API ile doğrudan bağlantı sağlayan bir SaaS başlangıcıdır. Bu API'yi, S3 klasörlerinizden veri almak için kullanabilir, ardından bunların çeşitli merkezi olmayan depolama seçenekleri arasında yeniden dağıtılmasını sağlayabilirsiniz.
Şu anda Filebase, diğerleri arasında Skynet, IPFS, Sia ve Storj gibi Web3 tabanlı depolama seçeneklerini desteklemektedir. Bir geliştirici olarak bu, müşterileriniz için merkezi olmayan dosya depolama hizmetleri sağlama sürecini basitleştirebileceğiniz anlamına gelir.
Ayrıca, yeni bir kullanıcı olarak 5 GB'lık ücretsiz depolama alanı elde edersiniz, ancak ücretli planlar için bile fiyatlandırma makul.
Diğer önemli Web3 depolama çözümleri:
- Arweave. Arweave, verileri tek bir peşin ücretle kalıcı ve sürdürülebilir bir şekilde depolamanıza olanak tanıyan bir protokoldür.
- Dosya parası. Her türlü medyayı merkezi olmayan bir bulut ortamında depolayın.
- sürü. Ethereum akıllı sözleşmeleri tarafından teşvik edilen, kendi kendini idame ettiren bir P2P depolama düğümü.
- Alef. dApp'ler oluşturun ve Aleph'in sizin için bulut tabanlı depolamayı yönetmesine izin verin.
API
Geleneksel veritabanı tabanlı yığından farklı olarak geliştiriciler, blok zinciri ile etkileşim kurmak ve üzerinde veri istemek veya depolamak için bir API kullanır. API'lere bazen Müşteriler de denir.
#1. Grafik
Grafik, çeşitli blok zincirlerine bağlanmak için hepsi bir arada bir API çözümüdür. Bu API'nin amacı, geliştiricilerin, aksi takdirde bireysel algoritmalar oluşturmayı gerektirecek verilere erişmesine yardımcı olmaktır. Örneğin, blok zincirindeki veri noktaları, basit adreslerden akıllı sözleşmelere dayalı karmaşık işlemlere kadar uzanır.
Bunun bir örneği, bir NFT'nin geçmişini izlemek olabilir.
Bireysel satın alma geçmişinin izini sürmek oldukça kolay olsa da, farklı satın almalarla olan ilişkileri anlamaya çalıştıkça giderek zorlaşıyor. Böyle bir durumda, Graph API, belirli bir kullanım durumunu hızlı bir şekilde görselleştirmenize yardımcı olmak için önceden yapılmış çağrılar ve dizin dizinleri sağlar.
#2. Web3.js
Web3.js, doğrudan Ethereum ile etkileşime giren en popüler JavaScript API'sidir. Öncelikle Ethereum zinciriyle etkileşime giren istemci uygulamaları geliştirmek için kullanılır. Web3.js'de bulunan alt kitaplıklar koleksiyonu, aktarımlar, akıllı sözleşme yönetimi ve daha fazlası gibi işlevler sağlar.
#3. Simya
Alchemy hızla yükseldi ve orada en saygın Web3 platformlarından biri haline geldi. Yaklaşımları, geliştiricileri Web3 uygulamalarının nasıl hızlı bir şekilde oluşturulacağı ve ölçekleneceği konusunda eğitmekle ilgilidir. Ve bunu, gelişmiş bir Blockchain API'si ve bir dizi Geliştirici Aracı sağlayarak yapabilirler.
#4. kullanımDApp
useDApp, Ethereum blok zinciri ile etkileşime geçmek için React tabanlı bir çerçevedir. React.js, Ethers.js kitaplığı, Waffle ve Web-3 React bileşenlerinden oluşur. Genellikle, proje ihtiyaçlarınıza göre çeşitli veri sorgularını görüntüleyebilen, erişimi kolay web sitesi ön uçları oluşturmak için kullanılır.
Başlangıç aşaması
Geliştiriciler, Web3 projeleri için Ön Uç arabirimleri oluşturmak için ne tür çerçeveler kullanıyor?
#1. Tepki
React'in popülaritesi benzersizdir. Ayrıca Web3 siteleri için en popüler ön uç kitaplığı olduğunu öğrenmek de şaşırtıcı değil. Bileşen odaklı mimari, geliştiricilerin çekirdek tasarıma müdahale etmeden ön ucun birden çok parçası üzerinde çalışabileceği anlamına gelir.
Sağlam bir başlangıç noktası için GitHub'daki Web3-React kitaplığına göz atabilirsiniz.
#2. Sonraki
Next.js, doğrudan bağlantılı olmasa da, React'in halefidir. Büyük ölçekli Web3 projeleri muazzam kaynak yönetimi gerektirir ve Next.js, hem statik hem de dinamik projeler için yerel araçlarla birlikte gelir ve Binance, Bitscreener, Hashnode ve diğerleri gibi şirketler tarafından kullanılır.
Hızlı bir başlangıç için Next Web3 Boilerplate'den başkasına bakmayın.
Web3 geliştirmeye başlarken
Almak için oldukça fazla, özellikle de yeni başlıyorsanız. Gerçek şu ki, bu alanda işler oldukça hızlı değişiyor. İlk projelerin tümü NFT ile ilgili olsa da, bugünlerde merkezi olmayan ağlara ve bireysel blok zinciri platformlarına daha fazla vurgu yapılıyor.
Web3 projesine başlamak için bu referans yeterli olacaktır. Ayrıca, en son Web3 trendlerine ayak uydurmak için en aktif iki topluluk olduğu için hem Twitter hem de Discord'da döngüde kalmanızı tavsiye ederim.