Blockchain programlamayı öğrenmek Kodlamaya başlamaya yönelik kapsamlı bir kılavuz
Önümüzdeki yıllarda bu teknoloji başkaları tarafından da çok fazla fark edilebilir. Başarılı bir geleceğe sahip olmak için elbette blockchain’i de öğrenmeniz gerekiyor. Veya bu teknolojiyi farklı alanlarda kullanmak ilginizi çekiyor. Bunun için bu makaleyi takip etmeniz yeterli. Bu yazımızda bu teknolojiyi tam anlamıyla tanıyıp hangi alanlarda kullanılabileceğini öğreniyoruz. Bu konuyla ilgileniyorsanız, bu makalede bizimle kalın.
Blockchain programlamayı öğrenmek neden önemlidir?
Bu teknolojinin kullanımı neredeyse on yıl öncesine dayanıyor. O zamanlar kimse bu teknolojiye dikkat etmedi, ancak geçtiğimiz yıl yoğun pazarlama ve reklam nedeniyle bu teknoloji çok fazla ilgi gördü. Pek çok dijital para biriminin piyasaya sürüldüğünü kesinlikle biliyorsunuzdur. Coinmarketcap’i ziyaret ettiyseniz mutlaka çok sayıda dijital para birimiyle karşılaşmışsınızdır. Bu alanda çalışan birçok insan var. Blockchain teknolojisinin dijital para birimlerindeki başarısı nedeniyle bu teknoloji birçok alanda kullanılmaya başlandı. 2022 yılında her programcının bu teknoloji ile ilgili en azından kısa bir çalışma yapması daha iyi olacaktır.
Öğrenmenin en iyi yolu video eğitimlerini kullanmaktır. İran’ın en iyi eğitim kaynaklarından biri olan Faradar , eğitim videoları kullanarak ülkenin bilimsel seviyesini yükseltmeye karar verdi. Bu nedenle bu kurum çeşitli alanlarda 4900’den fazla eğitim başlığı yayınlamıştır. Bu eğitimlerden herhangi birini kullanmak akademik seviyenizi büyük ölçüde geliştirmenize yardımcı olabilir. Bu zengin eğitim kaynağını blockchain öğrenmek için de kullanabilirsiniz.
Blockchain nedir?
Aslında blockchain, bir ağın düğümleri arasına yerleştirilen dağıtılmış bir veritabanıdır. Bir veritabanı olarak blockchain bilgileri dijital olarak saklar. Aslında blockchain donanımsal olarak mevcut değildir ve farklı bilgisayarların sıfırları ve birleri arasında görülebilmektedir. Blockchain’in bilinmesinin temel nedeni Bitcoin gibi dijital para birimlerinin yanı sıra dijital para birimlerinde çeşitli işlemlerin yapılmasıdır. Bu teknoloji, verilerin merkezi olmayan ve güvenli bir şekilde depolanmasına yardımcı olur. Blockchain’deki yenilik, veri kaydının doğruluğunu ve güvenliğini sağlaması ve üçüncü bir tarafa ihtiyaç duymadan güven yaratmasıdır.
Normal bir veritabanı ile blockchain arasındaki temel fark, veritabanının yapısındadır. Blockchain’de veriler bloklar halinde saklanır. Her blok bir dizi bilgiyi saklar. Bloklar genellikle dolduğunda kapatılacak belirli bir depolama kapasitesine sahiptir. Doldurulan her blok bir önceki bloğa bağlanır. Bu bağlantılar blok zinciri adı verilen bir veri zinciri oluşturur. Yeni eklenen bloğu takip eden tüm yeni bilgiler, yeni oluşturulan bir blokta derlenecek ve bu blok da doldurulduktan sonra zincire eklenecektir.
Veritabanının yapısı tablo şeklindedir. Yani verileri tablo şeklinde yapılandırır. Blockchain, verileri bir dizi blok şeklinde bir araya getirir ve birbirine bağlar. Bu veri yapısı, merkezi olmayan bir yapıda uygulandığında doğası gereği geri dönüşü olmayan bir veri zaman çizelgesi oluşturur. Bir blok doldurulduktan sonra taşa yerleştirilir ve bu zaman çizelgesinin bir parçası haline gelir. Zincirdeki her bloğa, zincire eklendiğinde kesin bir zaman damgası verilir.

Blockchain ile ilgili önemli noktalar
- Blockchain, bilgi depolama açısından normal bir veri tabanından tamamen farklı, paylaşımlı bir veri tabanıdır. Temel fark bilginin depolanmasındadır. Blockchain, verileri daha sonra kriptografi yoluyla birbirine bağlanan bloklar halinde saklar.
- Yeni veriler eklendiğinde yeni bir blok oluşturulacaktır. Bir blok dolduğunda bir önceki bloğa bağlanır ve bilgiler zincirlenir.
- Blockchain’de farklı türde veriler saklanabilir, ancak bilgiyi saklamanın en yaygın yolu işlemleri kaydetmektir. Örneğin dijital para birimlerinden bahsedebiliriz. Ayrıca NFT’lerin kullanımı blok zincirinin genel şeklini gösterir.
- Bitcoin dijital para birimi, hiçbir grup veya grubun erişemeyeceği ve herkesin sahip olacağı şekilde tasarlanmıştır. Bitcoin’deki kullanıcılar toplu olarak bu paranın değerini korurlar. Elbette Bitcoin’e veya sözde balinalara çok fazla para yatıran kişilerin piyasa fiyatı üzerinde çok az etkisi olabilir.
- Merkezi olmayan blok zincirleri yapıları gereği tamamen geri döndürülemez. Bu cümlenin anlamı bu blokların hiçbir şekilde değiştirilemeyeceğidir. Örneğin Bitcoin’de verileri geri alamaz veya işlemlerde değişiklik yapamazsınız.
Bir blockchain nasıl çalışır?
Eğer uygun bir blockchain programlama kursu izlediyseniz mutlaka duymuşsunuzdur.Blockchain üretiminin temel amacı bilgiyi kaydetmek ve üretmektir ancak hiçbir şekilde düzenlemek değildir. Bu nedenle blockchain, değiştirilemeyen, silinemeyen veya yok edilemeyen işlem kayıtlarının veya değişmez defterlerin temelidir. Bu nedenle blok zincirlere dağıtılmış defterler veya DLT adı da verilir.
İlk olarak 1991 yılında bir araştırma projesi olarak önerilen blockchain kavramı, 2009 yılında ilk yaygın kullanımına kadar kullanıldı. Bitcoin ilk olarak 2009 yılında piyasaya sunuldu. O zamandan bu yana geçen yıllarda, çeşitli dijital para birimlerinin ve merkezi olmayan finans (DeFi) uygulamalarının yaratılmasıyla blockchain kullanımı genişledi. Örnek olarak NFT’lerden bahsedebiliriz.
Blockchain neden merkezi olmayan olarak değerlendiriliyor?
Bir şirketin, tüm müşteri hesap bilgilerini içeren bir veritabanını korumak için kullanılan 10.000 bilgisayardan oluşan bir sunucu grubuna sahip olduğunu düşünün. Bu şirket tüm bilgisayarların bulunduğu çok büyük bir depo oluşturmuş. Bu sorun bu şirket için çok büyük bir zayıflık olarak görülüyor. Elektrik kesintisi veya depo yangını durumunda tüm bilgiler kaybolacaktır. Hatta deponun internetinin kesilmesi ve gerekli bilgilere artık erişilememesi dahi mümkündür. Blockchain programlamayı öğrenirken mutlaka bu ağın merkeziyetsizliğinden bahsetmek gerekir.
Ayrıca bu gibi durumlarda insan hatası olasılığı da büyük ölçüde artmakta ve birçok soruna neden olabilmektedir. Tüm bu durumlarda şirket ağır kayıplara uğrar ve tüm verilerini tamamen kaybedebilir. Temel olarak, bir blockchain’in yaptığı şey, bir ağın tüm düğümlerini ağ bilgilerinin korunmasından sorumlu kılmaktır. Bu yalnızca artıklık yaratmakla kalmaz, aynı zamanda veri kaybı olasılığını da büyük ölçüde azaltır.
Ayrıca birisinin bir kaydı değiştirmek istemesi halinde bu mümkün olmayacak ve insan hatalarından büyük ölçüde kaçınılmış olacaktır. Sanki bir kullanıcı Bitcoin işlemlerinin kaydını değiştiriyormuş gibi, tüm düğümler birbirine referans verilecek ve değiştirilen kayıt iyi bilinecektir. Böyle bir sistem kesin ve şeffaf bir düzenin oluşmasına büyük ölçüde yardımcı olur. Bu sayede ağdaki hiçbir düğüm, içinde saklanan bilgiyi değiştiremez.

Blockchain güvenli mi?
Bu soruya cevaben güvenliğin göreceli bir konu olduğunu ve %100 olarak kabul edilemeyeceğini söylemek gerekir. Blockchain veri güvenliğini çeşitli yöntemlerle sağlar. Örneğin yeni bloklar her zaman doğrusal olarak depolanır. Blok zincirinin sonuna bir blok eklendiğinde, ağın çoğunluğu bu konuda bir fikir birliğine varmadığı sürece geri dönüp bloğun içeriğini değiştirmek çok zordur. Böyle bir durumda göreceli bir güvenliğin sağlandığı söylenebilir.
Blockchain programlama eğitiminde blockchain’in çok güvenli ve hacklenemez olduğu her zaman söylenir. Ancak gerçekte durum böyle değildir ve bir blockchain’e çeşitli yöntemlerle saldırılar gerçekleştirilmektedir. Bloklar değiştirilirse hashlerin de değiştiği ve takip edilemediği doğrudur ancak bu hashlerin tamamen %100 güvenli olduğu söylenemez. Ayrıca tüm blockchain mimarilerinin güvenli olduğu ve pek çok zafiyetinin olabileceği söylenemez.
- Dijital para birimlerini ve kripto para birimlerini ve bu pazara yatırım yapma ilkelerini öğretmek – ön hazırlık
- Dijital para birimleri ve kripto para birimleri eğitimi ve bu pazara yatırım yapma ilkeleri – tamamlayıcı
Solidity dilini kullanarak blockchain programlamayı öğrenmek
Bu yazımızda blockchaini ve nasıl kodlanacağını tanıttık. Blockchain kodlaması için Solidity adında blockchain programlamada kullanılabilecek bir programlama dili bulunmaktadır. Kesinlikle bu programlama dilini öğrenmek kodlamanızda size çok yardımcı olabilir. Bu programlama dilini öğrenmekle ilgileniyorsanız, blockchain programlamayı öğrenmek için bize katılın . Aşağıda bu dili genel olarak ele alacağız.
Sağlamlık Nedir?
Sağlamlık, akıllı sözleşmelerin uygulanması için üst düzey bir dildir. Akıllı sözleşmeler aslında Ethereum’daki hesapların davranışını kontrol eder. Solidity, EVM sanal makinesi için tasarlanmış ve geliştirilmiş bir dildir. Bu üst düzey dil, C++, Python ve JavaScript örnek alınarak modellenmiştir ve onlarla benzerlikler taşır.
Bu programlama dilinde kodlama statiktir ve miras, sınıflar vb. kavramları destekler. Solidity dilini kullanarak birden fazla akıllı sözleşme oluşturabilir ve bunları farklı durumlarda kullanabilirsiniz. Bu sözleşmelerin en yaygın türü çoklu imza cüzdanlarının kullanılmasıdır.
Sözleşmeleri dağıtırken Solidity’nin en son yayınlanan sürümünü kullanmanız gerekir. İstisnai durumlar dışında, yalnızca en son sürüm güvenlik düzeltmelerini alır. Ayrıca düzenli olarak yeni özellikler ve kesin değişiklikler tanıtılmaktadır. Bu yazımızda kodlama için 0.yz versiyonunu kullanıyoruz.

Solidity’de kodlamaya başlayın
- Öncelikle akıllı sözleşmeler kavramına aşina olun.
- Sağlamlık hakkında biraz okuyun ve onu tanıyın.
- Solidity Compiler’ı yükleyin. (Web versiyonunu da kullanabilirsiniz)
- Bu dilin referansına bakın veya bu alanda bir eğitim videosu hazırlayın.
Sağlamlıkta Kodlama
Solidity’de kodlama çok basittir. Solidity’de kodlamaya başlayabilmek için C veya C++ dilinde biraz kodlama ustalığına sahip olmak yeterlidir. Örneğin Solidity’de değişkenleri tanımlamanın yolu şu şekildedir.

Gördüğünüz gibi bu programlama dilinde kodlama C programlama diline çok benzer ve kullanımı oldukça kolaydır. Solidity dilinde dizi tanımlamak da oldukça basittir ve içerisinde bir diziyi kolaylıkla tanımlayabilirsiniz.

Belirtildiği gibi Solidity programlama dili, JavaScript, Python ve C dillerinin çok hoş bir birleşimidir. Bu diller yaygın olarak kullanılmaktadır ve programlamaya gittiyseniz mutlaka bunlara aşinasınızdır.
Bu programlama dili hakkında daha fazla bilgi edinmek için referans web sitesine başvurabilirsiniz. Bu dilin genel yapısı tamamen C diline benzer ve eğer C dili eğitimi aldıysanız bu kodlara bakarak rahatlıkla anlayabilirsiniz.

son söz
Bu yazımızda sizlere blockchain programlamaya genel bir bakış sunmaya çalıştık. Temel olarak blockchain programlama genellikle programlamada parlak bir gelecek isteyen kişilere tavsiye edilir. Programlama alanında başarılı olmayı planlıyorsanız mutlaka kendinize bir blockchain programlama kursu hazırlayın . Elbette eğitici videolardan faydalanmak bu alanda size büyük ölçüde yardımcı olabilir. Bu alanda kullanılmaya değer pek çok film var.