“Blockchain Nedir ve Blockchain Geliştiricisi Nasıl Olunur?” dersine hoşgeldiniz! Burada blockchain nedir öğreneceksiniz. Kripto paralar ve kullandıkları teknoloji dünyayı değiştiriyor. Her yerdeler - yediden yetmişe artık herkes Bitcoin’in ne olduğunu biliyor! Kripto parayı bu kadar özel kılan şey blockchain teknolojisidir. Peki blockchain nedir? Her kripto para bugün Dağıtık Defter Teknolojisi (yani Distributed Ledger Technology - DLT) üzerine kuruludur ve blockchain de bunun en popüler olanı. Bir blockchain kuran kişiye de blockchain geliştiricisi denilir. Blockchain nedir ve blockchain geliştiricisi nasıl olunur öğrenmek ister misiniz? Tabii ki istersiniz!
Bir blockchain geliştiricisi olmak için ihtiyacınız olan her şey internette ücretsiz olarak var. Blockchain açık kaynaktır. Blockchain sırları bir yerde kasada kilit altında değildir. Yani bir Coca-Cola formülü değil!
İçindekiler
Temel Blockchain: Blockchain Nedir?
Blockchain nedir? Blockchain bilgi depolamanın dijital veritabanlı bir halidir. Bilgi “blok” denilen gruplarda depolanır. Blockchain teknolojisi bir Excel sayfası gibidir. Yalnız blockchain kendisini farklı yapan çok farklı özelliklere sahiptir. Blockchainler şöyledir:
Şu Anda Etkin Olan Güncel Teklifler:
GET 50% OFF
DataCamp Black Friday Sale
During this DataCamp Black Friday, you can access the top-rated courses with a 50% discount. Enroll now for way less!
Merkezi Değil. Bir blockchain tek bir yerde depolanmaz. Bir merkezi yoktur. Çok farklı bilgisayarda depolanır. Bu bilgisayarlara nod denilir. Blockchain’ler bire-bir ağlardır çünkü Microsoft, Google ya da Facebook gibi üçüncü partilere ihtiyaç duymazlar. Yani blockchain verisi üzerinde tek bir kişinin kontrolü olamaz. Kullanıcılar direkt olarak birbirleriyle iletişim kurarlar ve üçüncü partiyi aradan çıkartırlar.
Kamuya Açık. Blockchain üzerinde olan her bilgi kamuya açıktır. Yani herkes görebilir.
Oybirliğiyle Çalışır. Bu her yeni bilgi blockchain’e eklendiğinde, nodların yarısından fazlasının bunu kabul etmesi gerektiği anlamına gelir. Bu da blockchain’i dolandırılmaktan korur.
Değiştirilemez. Bu da bilginin bir kez girildikten sonra değiştirilemeyeceği anlamına gelir. Blockchain’de olan bir bilgi kriptoludur ve hacklemesi neredeyse imkansızdır.
Blockchain’ler üzerine kurulmuş olan yazılımlara dApps (decetralized applications - merkezi olmayan uygulamalar) denir. İlk dApp Bitcoin’in blockchain’i üzerine inşa edildi. Eşler arası bir ödeme şeklidir. Diğer blockchainler (NEO, EOS ve Ethereum gibi) bundan daha fazlasını yapmak üzerine tasarlanmışlardır. Bu blockchain’ler üzerlerine her türlü dApp inşa edilebilmesi için tasarlandılar. Bitcoin merkezi bankacılığa alternatif olması için tasarlandı. NEO ve Ethereum gibi platformlar kullanıcılarının aApp altenatifleri kullanarak Twitter, Google ya da Uber gibi her türlü alternatif uygulamayı kurmak istiyor.
Bir blockchain geliştiricisi olarak merkezi olmayan internetin oluşturulmasına katkı sağlamış olacaksınız! Bu baya havalı, değil mi? Blockchain nedir öğrendiğinize göre artık tek yapmanız gereken nasıl blockchain geliştiricisi olabileceğinizi öğrenmek!
Blockchain geliştiricisi olmayı öğrenmenin ikinci adımı ise hangi blockchain'de kendinizi geliştirmek istediğinize karar vermek olmalı. En popüler platformlar NEO ve Ethereum.
Ethereum vs NEO
Blockchain nedir öğrenmek için önce tarihine bakılması gerekiyor. Ethereum nedir? Ethereum Vitalık Buterin tarafından oluşturulmuştur ve 2015 yılında yayınlanmıştır. NEO nedir? NEO’nun orijinal adı Antshares'dı. Da Hongfei ile Erik Zhang tarafından 2014 yılında oluşturuldu. 2017’de ise NEO adını aldı.
Her iki platform da kullanıcılarının dApp oluşturmasına izin veriyor. Bunu biraz farklı yöntemlerle gerçekleştiriyorlar. DApp’lar programlama dilleri kullanılarak oluşturulurlar, aynı normal yazılımlar gibi. NEO dApp’ları çok farklı dillerle yapılabilir, C# ve Java gibi. Bunlar çoğu yazılım geliştiricisinin bildiği popüler dillerdir. Bu da NEO’yu deneyimli kullanıcılar tarafından kullanımı daha kolay hale getirir. Şimdi NEO nedir daha iyi anlayabilirsiniz.
Ethereum
Peki Solidity nedir? Ethereum da Solidity denilen kendi özel dilini kullanır. Bu da deneyimli geliştiricilerin bile dApp’lar oluşturmadan önce yeni bir şey öğrenmeleri gerektiği anlamına geliyor. Ancak Solidity C++ ya da JavaScript gibi diğer dillere çok benzer. Çoğu kullanıcı Solidity’i öğrenmenin ilginç olduğunu düşünür. Ancak Javascript ya da C++ bilenler çok zorluk çekmez.
NEO
Peki NEO nedir? NEO geleceğin dijital işletmelerine hizmet vermek üzerine yoğunlaşır. Çinli işletme regulasyonlarına uyum sağlamakta ve Çin hükümetiyle yakından çalışmaktadır. Ayrıca Ethereum’dan daha hızlı bir ağ. Bu da saniyede bir sürü işlem yapması gereken uygulamalar için harika bir şey.
Ethereum’ın da Mastercard ya da Samsung gibi büyük işletmelerle bağlantısı var. Ancak Ethereum daha çok kullanıcılarının blockchain’i geliştirmesi üzerine kurulu. NEO bu kadar bu konuya yoğunlaşmıyor. Ayrıca en büyük dApp geliştirme topluluğuna sahip. Diğer hiçbir blockchain topluluğu bu kadar büyük değil. İşte bu yüzden Ethereum’un yeni başlayan birinin kendini geliştirmesi için iyi bir yer olduğunu düşünüyorum.
Rehberin geri kalan kısmında sizlere Ethereum üzerinde bir blockchain geliştiricisi olmak için ihtiyacınız olan her şey anlatılacak. Ama önce Solidity nedir ve nasıl çalışır sorularına yanıt verilecek...
Solidity Nedir?
Solidity bir Ethereum kadrosu tarafından oluşturulmuştur. Kadronun başında da 2014 yılında Dr. Gavin Wood vardı. Solidity akıllı kontratlar oluşturmak üzerine kuruludur. Akıllı kontratlar dApp oluşturmak için kullanılırlar.
Akıllı kontratlar Ethereum blockchain’leri üzerinde takasların işlemesi için gereklidir. Eğer akıllı kontratın koşulları yerine gelirse, o zaman takas gerçekleşir. Eğer koşullar yerine gelmezse, o zaman takas gerçekleşmez. Bu takas sözleşmesini öğrendiğiniz zaman blockchain nedir sorusunun da yanıtını bulacaksınız. Aşağıda bir örnekle iki farklı blockchain’de kişiler arasında takasın nasıl gerçekleştiği anlatılıyor. Takas Diana ve Ross arasında geçiyor:
Bitcoin Blockchain
Diana internette futbol topu satıyor. Tanesi 5 Bitcoin (BTC). Ross da bir futbol topu almaya karar verdi, o yüzden Diana’ya 5 BTW gönderiyor. Diana, Ross’dan 5 BTC alıyor ve ona bir futbol topu gönderiyor. Bitcoin blockchain’i üzerinde takas şu şekilde gözükecektir:
Ross, Diana’ya 5BTC gönderdi.
Bu iyi bir anlaşma değil mi? Peki ya Diana topu göndermezse? Hala Ross’un Bitcoin’ini alacaktır ve Ross’un bir futbol topu olmayacak. Diana ve Ross’un ihtiyacı olan şey bir akıllı kontrat. Şimdi bu takasın Ethereım blockchain’i üzerinde nasıl görüneceğine bir bakalım.
Ethereum Blockchain
Diana futbol toplarını 70 ETH’ye satıyor. Ross bir futbol topu almak istiyor o yüzden Diana’ya 70 ETH gönderiyor. Ancak Diana, Ross’a futbol topunu gönderene kadar 70 ETH’ye sahip olamıyor. Ross topu alır almaz, Diana 70 ETH’sine de sahip olacak. Ethereum blockchain’inde takas şöyle görünecektir:
Eğer Ross, Diana’ya 70 ETH gönderirse, o zaman Diana, Ross’a bir futbol topu gönderir.
Takasın gerçekleşmesi için kontratin her iki tarafının da gerçekleşmiş olması gerekli. Siz olsanız hangi takası tercih ederdiniz?
Soldity ile yazılmış olan akıllı kontratlar yalnızca para transferleri değildir. Her türlü farklı şeyin gerçekleşmesi için kullanılabilirler. Solidity akıllı kontratları seçimleri güvenceye almaktan kira sözleşmelerine kadar her şeyi kapsayabilir. Şimdi sıra Solidity’nin nasıl çalıştığına geldi...
Solidity Nasıl Çalışır?
Solidity yüksek seviye bir kodlama dilidir. Bu da okunmak ve insanlar tarafından anlaşılmak üzere tasarlandığı anlamına geliyor! Bilgisayar programları genel olarak yüksek seviye dillerde yazılırlar ve daha sonra düşük seviye kodlama dillerine çevirilirler.
Düşük seviye bir kodlama dili bilgisayarlar tarafından okunmak ve kullanılmak üzere tasarlanırlar. Düşük seviye diller 1’ler ve 0’lardan oluşur. Buna binary denilir. Bazı çok zeki insanlar binary’de kod yazabiliyorlar, ama ne yazık ki, ben onlardan birisi değilim!
Binary dönüşüm şeması | Kaynak: sciencefriday
Ethereum blockchain’i üzerinde dApp’lar ve akıllı kontratlar oluşturduğunuz zaman, onların tasarımını yönlendiren bazı kurallara uymanız gerekir. Örneğin, eğer Solidity kullanarak yeni bir kripto para tasarlamak istiyorsanız, ERC20 denilen yeni bir kural setine uymak zorundasınız. Bu kurallar yeni dApp’ların blockchain’de yayınlandıkları zaman nasıl işleyeceklerini belirlerler.
Ethereum blockchain geliştirme de Ethereum Virtual Machine denilen çok özel bir yerde gerçekleşir.
Ehtereum Virtual Machine
Virtual machine yeni bilgisayar programlarının yazılabileceği bir ortamdır. Virtual machine'lerde yeni programlar geliştirilebilir ve sistemin diğer programlarından tamamen bağımsız bir biçimde tutulabilirler.
Düşünün ki yeni bir araba oluşturmak istiyorsunuz. Arabanızı işlek bir caddenin ortasında yapmak ve test etmek çok kötü bir fikir olurdu değil mi? Arabanızı bir fabrikada yapar ondan sonra da boş sokaklarda test ederdiniz. Bu şekilde yeni arabanız diğer arabalara hasar vermez ve onlar da sizin arabanıza zarar vermez.
İşte EVM bu şekilde işler. Yeni akıllı kontratlar oluşturmak için bir fabrikadır. Bu da Ethereum’u blockchain öğrenmek için harika bir yer haline getiriyor. Blockchain nedir ve nasıl geliştirilir en iyi burada öğrenebilirsiniz. EVM kullanıcılara hata yapmaktan korkmadan programlama şansı tanıyor. Blockchain geliştiricisinin yaptığı bir hata blockchain’in geri kalanına zarar vermiyor.
EVM aynı zamanda bir Turing complete'dir. Bu da bir bilgisayar ne yapabiliyorsa, EVM’de de aynısını yapabildiğini anlamına geliyor. Tek sınır hayal gücünüz! Şu anda EVM kullanılarak oluşturulan bütün heyecan verici fikirleri bir düşünün!
Artık Solidity’nin ne olduğunu, akıllı kontratların nasıl işlediğini ve nerede geliştirildiklerini bildiğinize göre, artık Solidity koduna geçebilirsiniz.
Solidity Kodu
Solidity öğrenmek yeni bir dili öğrenmeye başlamak gibidir. Solidity temelleri isimler, sıfatlar ve yüklemler gibidir. İsimler, sıfatlar ve yüklemler cümle kurmakta kullanılan araçlardır. İşte burada da Solidity akıllı kontratlarını kurmak için kullanacağımız bazı araçlar:
- Değişkenler - Bunlar blockchain’de bilgi depolamak için kullanılırlar. Çok farklı değişken türleri olsa da, en sık karşılaşılanlar şunlar:
- Boole - Bunlar ya doğru ya da yanlış olan bilgileri depolarlar. Boole için anahtar kelime bool’dur. İşte bu tehberde bir boole değişkeni böyle görünür.
Not: Anahtar kelime, Solidity’de bir kodlama aracının yazılış biçimidir. Her anahtar kelimeyi doğru biçimde çalışması için doğru yazmak zorunludur.
- Boole - Bunlar ya doğru ya da yanlış olan bilgileri depolarlar. Boole için anahtar kelime bool’dur. İşte bu tehberde bir boole değişkeni böyle görünür.
-
- Tamsayılar - Bunlar bir bilgiyi sayı olarak depolamak için kullanılırlar. İki türlü tamsayı vardır: Normal tamsayılar pozitif ya da negatif sayılar olabilirler. Anahtar kelime int'dir. İmzalanmamış tamsayılar pozitif sayı olarak kullanılabilir. Anahtar kelimeleri uint'dir.
- Adresler - Bunlar Ethereum adreslerini depolamak için kullanılırlar. Her Ethereum kullanıcısının blockchain üzerinde kendi adresi ya da adresleri vardır. Önceki örnekte, Diana ve Ross’un ikisinin de akıllı kontratlarının çalışması için adreslerine ihtiyaç vardır. Anahtar kelime address'dir.
- Dizin - Bunlar metin bilgisi depolamak için kullanılırlar. Anahtar kelime strings'dir.
- Fonksiyonlar - Bir fonksiyon bir işi yapar. Fonksiyon değişkenlerden aldığı bilgiyle yeni bir bilgi oluşturabilir. Örnek olarak bir toplamayı kulalnalım. 2+3=5 toplamında, 2 ve 3 değişkendir ve fonksiyon ise +’dır. 5 de fonksiyonun dönüşündeki bilgidir. Bu toplam için, anahtar kelimenin function add olması gerekir. Akıllı bir kontratta bir fonksiyon şöyle görünür:
- Yapılar - Bunlar farklı değişken gruplarını bir araya koymak içindir. O oluşturduğunuz yeni arabayı hatırlıyor musunuz? Solidity’de bir yapı kullanarak arabanızla ilgili bir bilgiyi gruplandırabilirsiniz. Şuna benzeyecektir:
Yeni başlayanlar Solidity’yi biraz korkutucu bulabilirler ama korkmayın. İnternette başlamanızı sağlayacak bazı çok eğlenceli kurslar var.
Blockchain geliştiricisi olmayı size öğretebilecek olan iki kurs var: Uzay Köpüşleri ve CriptoZombies. Şimdiden eğleniyorsunuz, değil mi?
Hem Uzay Köpüşleri hem de CryptoZombies oyunsallaştırılmış başlangıç seviyesinde Solidify dersleridir. Bu da her ikisinin de Ethereum blockchain’ini oyuna çevirdiğini gösteriyor! Eğlenerek blockchain nedir öğrenebilirsiniz. Şimdi hangi platformun sizin bir blockchain geliştirici olmanıza daha çok yardımcı olacağını görelim…
Uzay Köpüşleri
Uzay Köpüşleri yeni başlayanların blockchain geliştiriciliğini uzayda geçen karakterler ve ortamlarda öğrenmesini sağlar.
İlk ders on başlıktan oluşmuştur ve başlamanız için ihtiyacınız olan görevleri içerir. Her başlık kullanılan işlemler hakkında detaylı notlar içermektedir. Bunlar değişkenleri, fonksiyonları ve yapıları da içerir.
Kullanıcılar kendi astronot köpekleri gerçek Solidity kodu kullanarak tasarlayabilirler. Bunu yapmak için kullanıcılarının köpeklerinin türü, kostümü ve ruh halleriyle ilgili bir kod yazmaları gerekmektedir. Macera ilerledikçe kod da daha karmaşık bir hale gelecektir.
Ethereum blockchain’ine giriş olarak, Uzay Köpüşleri iyi tasarlanmış ve eğlenceli bir platformdur. Hem Ethereum nedir, hem blockchain nedir bu şekilde öğrenebilirsiniz.
CryptoZombies
CryptoZombies kullanıcıların bütün bir zombi ordusunu tasarlamalarına izin verir. Bunu yapmak için de kullanıcılar ilk önce bir zombi fabrikası kurmak zorundalar. Daha sonra zombilerinin nasıl göründüğünü tasarlayabilirler ve hatta nasıl kurbanlarına saldırdıklarını bile belirleyebilirler! Ayrıca bir zombi savaş sistemi kurmak için de fırsatınız olacak. Bu sürekli yapabildiğiniz bir şey değil, değil mi?
CryptoZombies çok eğlenceli ve bir sürü zor fikri kolaylaştırıyor. Ancak Uzay Köpüşleri’ni kullanırken göreceğiniz kadar dersler detaylı ve net değil.
Yani, eğer bir zombi ordusuna komuta etmek istiyorsanız. CryptoZombies sizin için doğru ders. Ancak eğer nasıl bir blockchain geliştiricisi olacağınızı öğrenmek istiyorsanız, Uzay Köpüşleri’ni tavsiye edilir.
Uzay Köpüşleri’nden öğrenebileceğiniz her şeyi öğrendikten sonra, daha ileri seviye derslere geçebilirsiniz. Bunlar için BitDegree’nin Solidity dersini tavsiye ederim.
- Kullanması kolay
- Kaliteli içeriğe sahip
- Fiyat konusunda saydam
- Tamamlamada ücretsiz sertifikalar
- Veri bilimi becerilerine odaklanıyor
- Esnek eğitim programları
- Basit tasarım (gereksiz bilgi yok)
- Yüksek kaliteli dersler (ücretsizler dahil)
- Çeşitli özellikler
- Nanodegree programları
- Firmalara uygun
- Ücretli tamamlama sertifikası
- Sektörde iyi biliniyor
- Pek çok özelliğe sahip
- Dersler üniversite düzeyinde
- Üniversite düzeyince dersler
- Şirketler için uygun
- Ücretli tamamlama sertifikası
İleri Seviye Dersler
BitDegree solidity dersi Solidity’nin temellerini öğrenmiş olan kullanıcılar için harikadır. Artık blockchain geliştiricisi olmaya hazır kullanıcılar için iyidir. Bu ders ortam kurulumuyla başlayıp kullanıcıları kendi kripto paralarını oluşturma konusuna kadar her noktadan götürürler!
Biliyor Muydunuz?
Kariyeriniz için hangi online eğitim platformunun daha iyi olduğunu merak etmiş miydiniz?
Blockchain Nedir ve Blockchain Geliştiricisi Nasıl Olunur: Özet
- Temel blockchain ve kripto para öğrenin. Block nedir öğrenmek için işin içine girmeniz lazım! Reddit üzerindeki Bitcoin forumlarına gidin ve kripto vloglarını izleyin. Coindesk üzerinde yayınlanan blockchain haberlerini takip edin.
- Biraz kripto para alın. Kripto para hakkında bilgi edinmenin en iyi yolu bir exchange’e gidip satın almaktır. Yeni başlayanlar için iyi bir exchange Coinbase’dir. Ufak bir miktar alıp kripto dünyasını keşfedin!
- Uzay Köpüşleri ve CryptoZombies üzerinden blockchain programlamanın temellerini deneyin. Bunlarin her ikisi de blockchain öğrenmek için harika yerler.
- Daha ileri seviye bir Solidity dersine yazılın, örneğin BitDegree’nin sunduğu gibi.
- Kodlamaya başlayın! Öğrendiğiniz bütün yeni beceleri dApp’lar yapmaya harcayın ve akıllı kontratlarıla dünyayı değiştirmeye başlayın! Yani telaşa gerek yok…
Şimdi nereden başlayacağınızı biliyorsunuz. Blockchain nedir ve nasıl bir blockchain geliştirici olunur biliyorsunuz. Artık eyleme geçelim!
Blockchain teknolojisi gelecekte yaşamlarımızın büyük bir parçası olacak. Blockchain geliştirme çok büyük bir iş olacak.
Ethereum nedir, blockchain nedir gibi sorular hakkında daha fazla bilgi için kripto para birimleri, Ethereum ve blockchain’ler üzerine olan diğer rehberlerimize göz atın.