Bir blockchain uygulamasının nasıl oluşturulacağını öğrenebileceğiniz bir rehber mi arıyorsunuz? İşte sıfırdan bir blockchain uygulaması oluşturmanıza yardımcı olabilecek bir kılavuz.

Bu yazıda blockchain uygulamamızı oluşturacağız. Son zamanlarda, bir blok zincirinin nasıl oluşturulacağını ele aldık. Python programlama dilinde bir blok zinciri oluşturmak için eksiksiz bir kılavuzdu. Öğreticinin ana odak noktası, blockchain teknolojisi ve iç işleyişi hakkında bilgi edinmektir..

Ancak bu eğitim, blockchain kullanarak bir uygulamanın nasıl oluşturulacağı üzerinedir. Merkezi olmayan uygulama (dApp), blockchain özelliklerinden yararlanabilecektir..

Ethereum kullanarak basit bir blockchain uygulaması oluşturacağız. Ethereum, akıllı sözleşmeler, Proof-of-Stake ve en önemlisi merkezi olmayan uygulamalar (dApps) oluşturma yeteneği gibi gelişmiş özellikler sağlayan ikinci nesil bir blockchain teknolojisidir..

Öyleyse, “Blockchain uygulaması nasıl oluşturulur” eğiticimize başlayalım. Bu eğitim aynı zamanda basit bir blockchain uygulaması oluşturmak isteyenlere yöneliktir. Basit bir blockchain uygulaması oluşturmak için Ethereum ağını kullanacağız.


Ancak başlamadan önce temel bilgilerimize doğru.

Şimdi kayıt: Enterprise Blockchain Temelleri Kursu

DApp nedir?

Bir blok zinciri uygulaması öğreticisinin nasıl oluşturulacağına dair atacağımız ilk adım, ilk önce merkezi olmayan uygulama (dApp) kavramını öğrenmektir..

dApp, merkezi olmayan uygulama anlamına gelir. Bağımsız olarak çalışma yeteneği de dahil olmak üzere temel özellikler sunan farklı bir uygulama türüdür. Uygulama ayrıca verileri kriptografik olarak depolar, böylece yetkisiz hiç kimse uygun yetkilendirme olmadan bunlara erişemez..

Tüm bu özellikler, merkezi olmayan uygulamaları mevcut kurumsal ortamda çok kullanışlı hale getirir. Uygulamalar ayrıca, uygulamanın sunduğu özelliklerden yararlanmak için kullanılabilecek jetonları kullanabilir. Dahası, uygulama, dApp’ı işlevsel hale getirmeye katılan düğümleri teşvik etmek için jetonları da dağıtabilir..

Bir Platform Seçmek – Neden Ethereum Platformunu Seçiyoruz?

Şu anda, dApp’inizi oluşturmak için seçebileceğiniz birçok platform var. Ethereum, Hyperledger Fabric ve Cardano gibi popüler blok zinciri platformlarını içerir. Tüm bunlardan Ethereum, aktif topluluk, araçlar ve çevrimiçi olarak sunulan öğreticiler nedeniyle en iyi seçim gibi görünüyor..

Ethereum’u seçmemizin bir başka nedeni de Solidity kullanmasıdır. Solidity, dApp’leri ve akıllı sözleşmeleri dağıtmak ve oluşturmak için açıkça yapılmıştır. Öğrenmesi kolaydır ve size deneme esnekliği sağlar.

Merkezi Olmayan Bir Blok Zinciri Uygulaması Oluşturmak İçin Pratik Kılavuz

Kodun derinliklerine dalmadan önce, bir blockchain uygulaması oluşturma sürecini özetleyen adımları listelemek istiyorum. Aşağıdan geçelim.

Fikir Bul

İlk adım, üzerinde çalışılacak bir fikir bulmaktır. Ademi merkeziyet, birçok kullanım alanına sahip olabilen harika ve yeni bir kavramdır. Bir öğrenci veya mühendis olarak, size veya şirketinize fayda sağlayabilecek yararlı bir fikir bulmalısınız. Ayrıca, manzarayı değiştiren bir fikirle gelemiyorsanız endişelenmeyin. Sadece öğrenmek ve pratik yapmak için basit dApp’ler oluşturmanın bir sakıncası yoktur.

Ayrıca, blockchain ile karşılaştığınız sorunları arayabilir ve belki de en iyi çabanızla bunları çözmeye çalışabilirsiniz. Buradaki nokta, sorunu acı noktanızdan görmek ve sonra çözmeye çalışmaktır..

İşletmeniz için veya iş gereksinimlerinize göre bir dApp oluşturmaya çalışıyorsanız, uygun bir maliyet / fayda analizi yapmanız gerekir. Ayrıca projeyle ilişkili riskleri keşfetmeniz ve iş ekibinizin uygulamayı durum tespiti ile yönetip yönetemeyeceğini görmeniz gerekir..

Hiçbir koşulda, daha sonra pişman olacağınız herhangi bir aceleci karar vermemelisiniz. Bunun nedeni, özellikle onu geliştirmek ve yönetmek için yetenek bulma söz konusu olduğunda, blok zinciri geliştirmenin maliyetli olmasıdır. Bunun da ötesinde, blockchain üzerinde çalışan geliştirici sayısı azdır. Kısacası, konu blockchain veya blockchain uygulama geliştirme olduğunda uygun adımları atmalısınız..

İşte yeni bir merkezi olmayan uygulama oluşturmanın arkasındaki mekanizmaları anlayabileceğiniz dApps geliştirme kılavuzu.

Bir Konsensüs Yöntemi Seçin

Merkezi olmayan herhangi bir uygulamanın çalışması için uygun bir fikir birliği algoritması gerekir. İşlemlerin doğrulanmasını ve hiçbir sahtekarlığın gerçekleşmemesini sağlar. Bir geliştirici veya öğrenci olarak, Proof of Stake, Delegated Proof of Stake, Bizans hata toleranslı vb. Dahil olmak üzere mevcut fikir birliği yöntemlerinden herhangi birini seçmeniz gerekir! Seçim, aşinalık ve uygulama gereksinimlerinize bağlı olmalıdır.

Bir Platform Seçmek

Burada tercih ettiğiniz bir platform seçmeniz gerekiyor. Açıkça, yukarıdaki noktayı zaten ele aldık. Ethereum, Hyperledger Fabric ve Cardano dahil olmak üzere başlıca üç platform arasından seçim yapabilirsiniz..

Bunun için kullanabileceğiniz birçok kurumsal blok zinciri çerçevesi var, ancak Ethereum ile devam edeceğiz.

Yönetici Konsolu ve Kullanıcı Arayüzü

Uygulamalar uygun bir kullanıcı deneyimine sahip olmalıdır. Bu nedenle, iyi bir kullanıcı arayüzüne sahip bir blockchain uygulaması oluşturmalısınız. Uygulama ayrıca, sorunsuz bir şekilde yönetebilmeniz için bir yönetici konsoluna sahip olmalıdır..

Blockchain İlkelerini Anlamak

Geliştiricilerin temel kavramları ve ilkeleri anlamadan blockchain uygulama geliştirme eğitimine başlaması yaygındır. Bu nedenle, uygulama geliştirme eğiticilerine başlamadan önce blok zinciri temellerini tamamen tavsiye ediyorum. Ayrıca, blockchain araçları, platformları ve kripto para birimleri dahil ekosistemi hakkında bilgi edinmek isteyebilirsiniz..

Pratik Yapın ve Geliştirin

Becerilerinizi olabildiğince çok çalışın. Bu size gelecekte daha karmaşık uygulamalar geliştirme becerisi kazandıracak.

Blockchain Uygulaması Nasıl Oluşturulur? Kolay Yaklaşım

Evet, doğru okudunuz. Bu bölümde, odak noktamız sadece beş basit adımda basit bir blockchain uygulaması oluşturmak olacaktır. Hiç bir blok zinciri uygulaması oluşturmadıysanız, bu beş adım süreci daha iyi anlamanıza yardımcı olacaktır..

Beş adım aşağıdaki gibidir.

  • Bağımlılıkları ve klon depolarını yükleyin.
  • Ganache CLI’yi Çalıştırma
  • Sözleşme derlemesi
  • Sözleşme dağıtımı
  • Sözleşme etkileşimi

Ve hepsi bu. Gönderinin kendisinde daha ayrıntılı adımlar bulabilirsiniz. Blockchain’de basit bir oylama uygulamasıdır.

Blockchain Uygulaması Nasıl Oluşturulur? Zor Yaklaşım

Peki! Beni yakaladın! Kolay yolu istemiyorsunuz, ancak blok zincirini zor yoldan öğrenmek istiyorsunuz. Merak etmeyin, bu bölümde Ethereum akıllı sözleşmelerini kullanarak bir yapılacaklar listesi uygulaması oluşturacağız..

Blockchain Uygulama Çalışmaları

Bir blockchain uygulaması oluşturmaya derinlemesine dalmadan önce, ilk etapta bir blockchain uygulamasının nasıl çalışacağını anlamaya çalışalım..

Bunu anlamak için basit bir uygulamanın nasıl çalıştığına bir göz atalım. İnternette çalışan herhangi bir uygulama, bir tarayıcı veya Windows’ta özel bir uygulama kullanılarak kullanıcının bilgisayarında oluşturulur. Her durumda, sunucudan sayfalar veya bilgiler için talepte bulunur ve bunlar daha sonra kullanıcının bilgisayarında oluşturulur..

Web uygulaması söz konusu olduğunda, her şey merkezileştirilmiştir. Bu, bazı faydalar sağlar; ancak, güvenlik söz konusu olduğunda arzulanan çok şey bırakıyor. Blockchain uygulamaları tamamen farklı şekilde çalışır. Uygulamada depolanan kod ve veriler de dahil olmak üzere her şey merkezi değildir.

Akıllı Sözleşmeler

Buradaki anahtar akıllı sözleşmedir. Akıllı bir sözleşme, uygulamanın kendisini kolaylaştırır. Uygulamanın çalışmasını sağlayan tüm kodu içerir. Ayrıca süreci otomatikleştirir ve amaçlandığı gibi çalışmasını sağlar. Eğitimimizde, yapılacaklar listesinin farklı işlevlerini yazmak için akıllı sözleşmeler kullanacağız..

Akıllı sözleşmeler, Solidity programlama dilini kullanır. JavaScript’e benzer. Akıllı bir sözleşme bir kez yazıldığında, kodu değiştirilemez ve değişmez hale gelir. Dağıtım sırasında kodu değiştirmekte özgürsünüz. Ancak, uygulama dağıtıldıktan sonra kodu değiştiremezsiniz. Bu, blockchain uygulamalarına güvenilirlik ve güvenlik sağlamak için yapılır. Yaklaşım ayrıca akıllı sözleşmeyi dağıtmadan önce ekstra dikkatli olmanız ve tüm testleri yapmanız gerektiği anlamına gelir. Ayrıca, akıllı sözleşme kodları doğası gereği halka açıktır.

Python kullanarak bir blok zinciri oluşturmayı öğrenmek ister misiniz? İşte takip edebileceğiniz bir Python ile blok zinciri oluşturmaya yönelik bir eğitim.

Blockchain Yapılacaklar Listesi Uygulamamızı Yapmak

Konsepti anladığınızdan emin olmak için önce Todo blockchain uygulamasının nasıl çalışacağını öğrenmeniz gerekir. Uygulamayı yapmak için Ethereum kullanacağız. Uygulamamız tek bir Ethereum düğümü kullanıyor olacak ve ayrıca bir istemci tarafı uygulamaya sahip olacak. Akıllı sözleşmeyi yazmak ve ardından onu dağıtmak için Solidity’yi kullanacağız..

Bir geliştirici olarak, bir Ethereum cüzdanı kullanmanız gerekir – ki bunu yapmak kolaydır.

Hazırlanma – Çevre Oluşturma

Yerel bir ortam oluşturmak için birden fazla araç ve pakete ihtiyacımız olacak. Onları tek tek inceleyelim.

Ganache

Ganache bir Ethereum geliştirme aracıdır. Uygulamaları, akıllı sözleşmeleri ve testleri yönetmenize, dağıtmanıza ve geliştirmenize olanak tanır. Eğitim için Windows sürümünü çalıştıracağız. Farklı bir işletim sisteminiz varsa, Mac veya Linux sürümünü de indirebilirsiniz. Kurulduktan sonra, bunu komut satırı aracıyla kullanabilmelisiniz..

Node.js

Node.js, yüklenmesi gereken bir sonraki aracımızdır. Özel blok zincirinin makinenizde çalışmasını sağlamak için, Düğüm Paketi Yöneticisi.

Kurulduktan sonra terminalinizi açın ve aşağıdaki komutu yazın. Eğer çalışırsa, gitmekte fayda var.

$ düğüm -v

MetaMask Ethereum Cüzdan

Ethereum blockchain üzerinde çalışacağımız için tarayıcıdan çalışabilen bir cüzdana ihtiyacımız var.. Metamask Ethereum blockchain ile etkileşime girmenizi sağlayan bir web tarayıcısı cüzdanıdır.

Trüf Mantarı Çerçevesi

Yükleyeceğimiz son yazılım, Trüf Mantarı Çerçevesi. DApp’iniz üzerinde etkili bir şekilde çalışmanıza olanak tanıyan geniş bir araç seti sunar. Bir Ethereum akıllı sözleşmesi geliştirmek için Solidity programlama dilini kullanabilirsiniz..

Truffle Framework özelliklerinden bazıları aşağıdakileri içerir:

  • Uygun akıllı sözleşme yönetimi
  • Ağ yönetimi
  • Otomatik test
  • Geliştirme Konsolu
  • Komut Dosyası Çalıştırıcısı
  • Dağıtım ve Geçişler
  • İstemci Tarafı Geliştirme.

Yüklemek için şunu kullanmanız gerekir: npm komutu. Komut satırında aşağıdaki komutu çalıştırmanız yeterlidir.

$ npm install -g [email protected]

Kurulumun tamamlanması biraz zaman alacaktır. Ayrıca, öğreticiyi takip etmek için tam sürümü yüklemeniz gerektiğini unutmayın..

Uzman bir blockchain uzmanı olmak ister misiniz? Kaydolun sertifikalı kurumsal blockchain profesyonel kursu şimdi!

Projeyi Kurmak

Güzel! Artık geliştirme ortamımızı kullanıma hazır hale getirdik. Şimdi tek yapmamız gereken projemizi oluşturmak. Bunu yapmak için proje dizinini oluşturmamız gerekiyor. Hadi aşağıda yapalım.

$ mkdir dapp-todo

$ cd dapp-yapılacak

Klasöre girdikten sonra, aşağıdaki komutu çalıştırarak truffle projesini başlatmanız gerekir..

$ truffle init

Tamamlandığında, yukarıdaki gibi bir mesaj gösterilecek. Bu, klasör ve dosyaların başarıyla oluşturulduğu anlamına gelir. Artık, favori metin düzenleyicinizde klasörü açabilirsiniz. Ancak bunu yapmadan önce, package.json dosya. Bu, proje için gerekli olan bağımlılıkları kurmanıza yardımcı olacaktır..

Dosyayı manuel olarak oluşturabilir ve ardından aşağıda gösterilen içeriği kaydedebilirsiniz..

{

  “Name”: “dapp-todo”,

  “Sürüm”: “1.0.0”,

  “Description”: “Ethereum Destekli Yapılacaklar Listesi”,

  “Main”: “truffle-config.js”,

  “Dizinler”: {

    “Test”: “test”

  },

  “Kodlar”: {

    “Dev”: “lite-server”,

    “Test”: “echo \” Hata: test belirtilmedi \ ” && sexit 1 ″

  },

  “Yazar”: “[email protected]”,

  “Lisans”: “ISC”,

  “DevDependencies”: {

    “Bootstrap”: “4.1.3”,

    “Chai”: “^ 4.1.2”,

    “Vaat edildiği gibi chai”: “^ 7.1.1”,

    “Chai-bignumber”: “^ 2.0.2”,

    “Lite-server”: “^ 2.3.0”,

    “Nodemon”: “^ 1.17.3”,

    “Truffle”: “5.0.2”,

    “Trüf mantarı”: “3.0.6”

  }

}

Tamamlandıktan sonra, bağımlılıkları yüklemek için şimdi aşağıdaki komutu çalıştırın..

$ npm yükleme

Dizin Yapısını Anlamak

Dizin yapısı aşağıdaki gibi görünecek.

Her klasörü tek tek anlayalım.

  • Sözleşmeler: Dizin tüm akıllı sözleşmeleri içerir. Migrations.sol sözleşmesi blok zincirine geçişleri yönetir.
  • Göçler: Taşıma dizini, geçiş verilerini içerir. Buradan göçler gerçekleşir.
  • düğüm_modülleri: Tüm düğüm modüllerini / bağımlılıklarını içerir.
  • Ölçek: Bu dizin test dosyalarını içerir.
  • truffle-config.js: Bu dosya truffle proje yapılandırmasını içerir.

Akıllı Sözleşmenin Oluşturulması

Şimdi bizim ile başlamamızın zamanı akıllı sözleşme oluşturma. Akıllı sözleşmelerimiz sözleşmeler klasöründe saklanacaktır. Todo.sol adında bir akıllı sözleşme dosyası oluşturalım

Tamamlandığında, şimdi kodu aşağıdaki gibi yazmanız gerekiyor.

pragma sağlamlığı ^ 0.5.0;

sözleşme Todo {

// Kodu buraya girin

}

İlk kod satırı, akıllı sözleşmeyi yazmak için hangi Solidity sürümünü kullandığımızı belirtir. Ardından, contract anahtar kelimesini kullanmalı ve bir Yapılacaklar sözleşmesi oluşturmalıyız. Bu, akıllı sözleşme kodunu içerecektir.

Şimdi, her şeyin amaçlandığı gibi çalışıp çalışmadığını görmek için bir değişken ekleyelim.

pragma sağlamlığı ^ 0.5.0;

sözleşme Todo {

uint Görevleri = 0;

}

Burada, Todo uygulamamızda sahip olduğumuz görevlerin sayısını sayacak görev değişkenini tanımlıyoruz..

Ganache’ye bağlanılıyor

Akıllı sözleşmemiz Truffle’da doğru şekilde kurulduğundan, şimdi oluşturduğumuz Ganache özel blok zincirine bağlanmamız gerekiyor. Bunu yapmak için bazı yapılandırma dosyalarının güncellenmesi gerekir. Kişisel blok zinciri ağına bağlanabilmemiz için bir geçiş betiği oluşturmalı ve çalıştırmalıyız..

Başlamak için truffle-config.json dosyasını güncellememiz gerekiyor. Çekirdek proje dizininde yer almalıdır. Açtıktan sonra aşağıdaki kodu kopyalayıp yapıştırın.

module.exports = {

ağlar: {

geliştirme: {

ana bilgisayar: “127.0.0.1”,

bağlantı noktası: 7545,

network_id: “*” // Ağ kimliği eşleşmesi

}

},

solc: {

optimize edici: {

etkin: doğru,

koşular: 200

}

}

}

Oluşturulan truffle-config.js dosyasıyla, oluşturduğumuz akıllı sözleşmenin kişisel blok zinciri ağına taşınabilmesi için geçiş betiğini oluşturma zamanı geldi..

Adı 2_deploy_contracts.js olarak dosyalayacağız

Taşıma işlemleri, Todo uygulamamız için çok kritik. Blockchain bir veritabanı türü olduğu için, onu bir durumdan diğerine değiştirmemiz gerekiyor. Geçişlerin yardımcı olduğu yer burasıdır.

Geçiş dosyalarını bağlamak için, yeni oluşturulan geçiş dosyasına aşağıdaki kodu eklememiz gerekir..

var Todo = artifacts.require (“./ Todo.sol”);

module.exports = function (dağıtıcı) {

deployer.deploy (Yapılacaklar)

}

İlk kod satırı, akıllı sözleşmemize başvuran bir değişken oluşturur. Bittiğinde, onu dağıtıyoruz.

Bittiğinde, şimdi migrate komutunu çalıştıralım.

$ Trüf mantarı geçişi

Konsolu aşağıdaki komutu kullanarak da çalıştırabilirsiniz..

$ truffle konsolu

Yapılacaklar Listesi Uygulamamızı Geliştirme

Artık ilk Ethereum akıllı sözleşmemizi başarıyla yürüttüğümüze göre, artık dApp’ımıza özellikler eklemenin zamanı geldi. DApp’ımız basit. Yapılacaklar listemizdeki görevleri listeleyecek. Bunun gerçekleşmesi için akıllı sözleşmeyi kullanmalıyız.

Hadi aşağıda yapalım.

pragma sağlamlığı ^ 0.5.0;

sözleşme Todo {

uint public görevler = 0;

 

struct Task {

uint kimliği;

dize içeriği;

bool tamamlandı;

}

}

Burada yeni bir struct Task oluşturmak için bir struct anahtar sözcüğü kullandık. Kimlik, içerik ve tamamlanan boole değerini içeren Görevimizin yapısını tanımlamak için kullanırız..

Ardından, şimdi Görevler yapımızı haritalandırmalı ve blok zinciri tarafından erişilebilmesi için herkese açık hale getirmeliyiz. Bunu yapmak için aşağıdaki kod satırını eklememiz gerekiyor.

Akıllı sözleşme kodu şimdi aşağıdaki gibi görünecek.

pragma sağlamlığı ^ 0.5.0;

sözleşme Todo {

uint public görevler = 0;

struct Task {

uint kimliği;

dize içeriği;

bool tamamlandı;

}

eşleme (uint => Görev) kamu görevleri;

}

Son olarak, şimdi görevleri yerine getiren bir işlev oluşturmamız gerekiyor..

function createTask (string memory _content) public {

taskCount ++;

görevler [taskCount] = Görev (taskCount, _content, false)

}

İşlev, çoğunlukla kendi kendini açıklar niteliktedir. Fonksiyonu, Todo dApp’de listelenen görevlerin sayısını sayabilmesi için oluşturduk..

Son olarak, Todo sınıfını başlatmak için bir kurucu oluşturmamız gerekiyor..

yapıcı () public {

createTask (“Bu bizim ilk Görevimiz”)

}

Todo.sol dosyamız şimdi aşağıdaki gibi görünmelidir.

pragma sağlamlığı ^ 0.5.0;

sözleşme Todo {

uint public görevler = 0;

struct Task {

uint kimliği;

dize içeriği;

bool tamamlandı;

}

yapıcı () public {

createTask (“Bu bizim ilk Görevimiz”)

}

eşleme (uint => Görev) kamu görevleri;

function createTask (string memory _content) public {

taskCount ++;

görevler [taskCount] = Görev (taskCount, _content, false)

}

}

Görevler Oluşturun

Ayrıca Todo dApp’ımızda görevler oluşturabiliriz. Bunu yapmak için, yeni bir görev oluşturulduğunda bir tetikleyici oluşturmamız gerekir. Yaklaşımımız, TaskCreated adlı yeni bir etkinlik oluşturmak ve bunu mevcut createTask () işlevimize eklemektir..

olay TaskCreated (

uint kimliği;

dize içeriği,

bool tamamlandı

);

Şimdi, createTask () işlevine aşağıdaki satırı ekleyin.

TaskCreated emit (taskCount, _content, false);

Görevleri Tamamlama

Etkinlik kullanılarak tamamlanan görevler de eklenebilir. Aşağıdaki etkinliği Todo sözleşmesine eklemelisin.

event TaskCompleted (

uint kimliği,

bool tamamlandı

);

Çalışması için ayrıca yeni bir işlev eklemeniz gerekir.

function toggleCompleted (uint _id) public {

Görev belleği _task = görevler [_id];

_task.completed =! _task.completed;

görevler [_id] = _task;

emit TaskCompleted (_id, _task.completed)

}

Tebrikler! Ethereum blockchain üzerinde ilk Yapılacaklar listesi dApp’ınızı oluşturdunuz.

Bitiş Notu

Bu aynı zamanda bizi bir blockchain uygulaması öğreticisinin nasıl oluşturulacağının sonuna götürür. Sıfırdan bir blockchain derleme uygulaması oluşturmanın yolu budur.

Buradan, nihayet blok zincirine taşımadan önce sözleşmeyi doğru bir şekilde test etmeniz gerekir. Ayrıca uygulamanın ön ucunu oluşturabilir ve test edebilirsiniz. Bunu yapmakla ilgilenmiyorsanız, konsolu çalıştırabilir ve şeyleri test etmek için değişkenlere ve işleve erişebilirsiniz.!

Ancak blok zincirinin etkilerinin hala farkında değilseniz, bu konuda daha fazla bilgi edinmek için ücretsiz blok zinciri kursumuza başlamanızı öneririz. Nasıl çalıştığını öğrenmeden veya anlamadan, programlama kavramını kavramak sizin için gerçekten zor olacaktır..

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me