İlk Akıllı Sözleşmenizi Nasıl Yazabilir ve Dağıtabilirsiniz?

Yayınlanan: 2020-02-13

Akıllı Sözleşmeler, bugün Blockchain teknolojisinde lider bir trend. Bu alanda bir kariyer inşa etmeyi düşünüyorsanız, bu makale ilk akıllı sözleşmenizi yazmak için bilmeniz gereken her şeyde size yardımcı olacaktır !

Dünyanın En İyi Üniversitelerinden Çevrimiçi Yazılım Kursları Öğrenin. Kariyerinizi hızlandırmak için Yönetici PG Programları, Gelişmiş Sertifika Programları veya Yüksek Lisans Programları kazanın.

İçindekiler

İlk Akıllı Sözleşmenizi Nasıl Yazabilirsiniz?

Günümüzün dijital çağı, iki tarafın üçüncü taraf katılımı olmadan anlaşmalar yapmasına izin verdi. Bu dijital sözleşmeler blok zinciri tarafından işlenir ve halka açık bir veri tabanında saklanır. Bu nedenle, işlemler izlenebilir ve geri döndürülemez.

İlk akıllı sözleşmenizi yazmak istiyorsanız , aşağıda derlenen kaynaklar sizi doğru yola koyacaktır.

Okuyun: 2020 İçin 10 Blockchain Trendi ve Tahmini

Akıllı sözleşmelerin tanımlanması

'Akıllı Sözleşme' terimi ilk olarak 1996 yılında Amerikalı bilgisayar bilimcisi Nick Szabo tarafından önerildi. Bu, bir sözleşmenin ifasını kolaylaştıran, doğrulayan ve uygulayan bir bilgisayar veya dijital protokoldür. Genel amaçlı bir hesaplama olarak, akıllı bir sözleşme bir Blockchain veya dağıtılmış defter üzerinde bulunur.

Başka bir deyişle, sözleşme, bir bilgisayar programı biçiminde kodun içine yerleştirilmiştir. Ve atanan aktörler, programın işlevini yürütmek için izin alırlar. Akıllı sözleşmenin başarılı bir şekilde yürütülmesi için önceden tanımlanmış kurallara uyulmalıdır.

Örneğin bir Satın Alma Siparişi (PO) alın. Alıcı ve satıcı arasındaki basit bir sözleşmedir. PO'nun gerçekleştirilmesi için belirli koşulların yerine getirilmesi gerekir. Bu özellikler, alıcı tarafından başarılı bir şekilde ödeme yapılmasını, malların tedarikçi tarafından satın alma sırasında kararlaştırılan şartlara göre teslim edilmesini, iade koşullarını vb. içerir.

Böylece alıcı sipariş verebilir ve tedarikçi siparişi dijital formatta gerçekleştirebilir. Bir bilgi işlem ağı üzerinden, tüm eylemlere işlem adı verilir. Ve tüm işlemler ağ tarafından doğrulanır ve uygulanır. Onaylandıktan sonra işlemler geri alınamaz.

Okuyun: Blockchain öğrenmek için ön koşullar. düşündüğün gibi değil

Akıllı Sözleşme Oluşturma Gereksinimleri

Akıllı sözleşmeler oluşturmak için çeşitli programlama dilleri mevcuttur. Dil seçimi esas olarak blok zinciri platformuna bağlıdır. Örneğin Solidity, Vyper, eWASM ve Ethereum bayt kodu, Ethereum blok zinciri platformu için en popüler akıllı sözleşme dillerinden bazılarıdır.

Akıllı sözleşme geliştirme ortamı

İlk akıllı sözleşmenizi yazmadan önce , gelişimi için oyun alanını kurun. Geliştirme ortamları bilgisi olmadan blok zinciri dünyasının derinliklerine inmek zor olacaktır. Aşağıdaki alternatifler arasından seçim yapabilirsiniz.

  • Remix IDE: Akıllı sözleşmeler oluşturmak ve test etmek için entegre bir geliştirme ortamıdır. Bu tamamen çevrimiçi seçenek, kurulum gerektirmediğinden yeni başlayanlar için şiddetle tavsiye edilir. Ayrıca, akıllı sözleşmelerin prototiplenmesi ve hızlı bir şekilde doğrulanması için daha az zorluk yaratır.
  • Yerel Kurulum: Yerel makineler, akıllı sözleşme geliştirme için başka bir kaynak sağlar. Araçlar, kurumsal düzeyde uygulamalar için daha fazla esneklik sağlar. Ve bu ortamı kurmak zaman alsa da, Dağıtılmış Uygulamalar veya DApp'ler için araçların seçimi oldukça basit bir süreçtir.

Akıllı Sözleşmenin Yapısı

Solidity programlama dili kullanılarak geliştirilmiş bir satınalma siparişi sözleşmesini inceleyelim.

Bir Solidity akıllı sözleşmesi, 'veri' ve 'işlev' içeren standart bir yapıyı takip eder. Veriler akıllı sözleşmenin mevcut durumunu korurken, işlev bu duruma geçiş yapmak için mantık uygular.

Sözleşme, ' pragma yönergesi ' adlı ifadeyle başlar . "Pragma" anahtar sözcüğü, derleyici denetimlerini veya özelliklerini etkinleştirir. Aşağıdaki ifadeyi göz önünde bulundurun:

pragma sağlamlığı >=0,4.0 <=0.6.0

Bildirim, akıllı sözleşmenin 0.40'tan önceki ve 0.60'tan sonraki bir derleyici sürümüyle derlenmemesini sağlamayı amaçlıyor.

Ardından ' sözleşme beyanı ' gelir . Aşağıdaki ifade, "sözleşme" anahtar sözcüğünü kullanır ve "Satın Alma Siparişi" adıyla boş bir sözleşmeyi tanımlar.

sözleşmeli Satınalma Siparişi{}

Veri depolama

Her sözleşme veya bilgisayar programı, içinde depolanan verilere sahiptir. Değişkenler, verileri depolamak, etiketlemek, almak ve işlemek için bir yol sağlar. Solidity'de iki tür değişken vardır - Değer ve Referans. Değer türü değişkenleri, boolean, tamsayı vb. gibi işlev bağımsız değişkenleri olarak kullanıldığında her zaman kopyalanır.

Oysa referans tipi değişkenler veri konumunu saklar. Bir referans değişkenindeki herhangi bir değişiklik başka bir değişkeni etkiler. Bu nedenle dikkatli bir şekilde yönetilmeleri gerekir. Örnekler arasında Diziler ve Yapılar bulunur.

veri ekleme

Bir satınalma siparişinde genellikle kendisiyle ilişkilendirilmiş bir ürün miktarı bulunur. Şimdi akıllı sözleşmeye bir veri değişkeni ekleyelim. Yalnızca pozitif değerlere sahip olacağı varsayımıyla bir ürün_miktarı değişkeni ekleyeceğiz.

İlk olarak, uint256 ile temsil edilen işaretsiz bir tamsayı tanıtıyoruz. Burada, unsigned (u) yalnızca pozitif tam sayıları temsil edebilen değişken türü anlamına gelir ve 256, 256 bitlik depolamayı ifade eder.

sözleşme Satın Alma Siparişi{uint256 product_quantity;}

yapıcı

Yapıcı, sözleşme dağıtıldığında akıllı sözleşmeyi bazı değerlerle başlatır. Ürün miktarının 100 olarak ayarlandığını varsayalım.

yapıcı() public{product_quantity = 100;}

Anahtar sözcüğün veya erişim değiştiricinin “public”in, işlevin kısıtlanmadığını belirttiğine dikkat edilmelidir. Yani herkes tarafından erişilebilir.

fonksiyon ekleme

İşlev eklemek, programınızı etkileşimli hale getirir. Bunlar, "fonksiyon" anahtar kelimesinden önce gelen kontrollü yeteneklerdir. Bildirim, işlev adını, erişim değiştiricisini, durum mutatörünü ve dönüş değerini içerir.

Depolanan değeri okumak için “get function” ekliyoruz. "get_quantity" ile bu işlev, depolanan verileri alma veya okuma yeteneği kazanır. Aşağıda verilen açıklamaya bakın.

function get_quantity() genel görünüm döndürür(uint256){return product_quantity;}

Daha da parçalara ayırdığımızda şunu görüyoruz:

  • İşlev adı: get_quantity ("()", hiçbir parametrenin iletilmediği anlamına gelir)
  • Erişim Değiştirici: genel (erişim kısıtlı değildir)
  • State Mutator: view (fonksiyonun sözleşmenin durumunu değiştirmediğini, sadece okuduğunu gösterir)
  • Döndürür: işlev tarafından neyin döndürüldüğünü tanımlar, yani uint256 türünde bir değişken

ayarlayıcı fonksiyonları

Verileri yazmak veya güncellemek istediğinizde ayarlayıcı işlevi devreye girer. Bu işlev, kullanıcıdan "product_quantity" değişkeninin değerini güncellediği bir girdi parametresi alır. Set işlevi (update_quantity) şu şekilde takılır:

update_quantity(uint256 değeri) public {product_quantity = product_quantity + değer;}

Şimdi, ilk akıllı sözleşmenizi yazmak için yukarıda verilen tüm ifadeleri takın .

Akıllı sözleşmeyi dağıtma

Daha önce belirtildiği gibi adımları tamamladığınızda, akıllı sözleşmenizi test etme zamanı gelmiştir. Aynısını, akıllı sözleşmenizi çevrimiçi olarak oluşturmak, test etmek ve doğrulamak için Solidity derleyici özelliği sağlayan Remix IDE'yi kullanarak da yapabilirsiniz.

Remix Online IDE ile akıllı bir sözleşme tasarlamak ve dağıtmak için adım adım talimatlar:

  1. Yeni (boş) bir dosya oluşturmak için artı simgesine tıklayın
  2. Boş dosyayı açmak için tıklayın
  3. Sözleşmenizi bu dosyaya yapıştırın
  4. Soldaki menüye gidin ve dosya simgesinin hemen altındaki ikinci simgeye tıklayın. Bununla, sağlamlık derleyici seçeneği görünecektir
  5. Derleyici sürümünü seçmek için derleyici etiketine gidin
  6. Akıllı sözleşmeyi derlemek için dosyaya tıklayın
  7. Derlemeden sonra, bayt kodunu ve uygulama ikili arabirimini anlamak için derleyici ayrıntıları düğmesine tıklayın. Bytecode, dönüşüm ve derlemeden sonra Ethereum'un operasyonel kodunu ve akıllı sözleşme mantığını içerir.
  8. Akıllı sözleşmenizi dağıtmak için sol menüde derleme simgesinin altındaki simgeye tıklayın

Dağıtılan sözleşmeyle etkileşim

Sözleşmede belirtilen genel yöntemler, dağıtılan sözleşmeyle etkileşim kurmanın yollarını sağlar. Satınalma Siparişi bağlamında, "update_quantity" ve "get_quantity" mevcut iki etkileşim yöntemidir. Giriş kutusunu kullanarak parametrelerinizi de girebilirsiniz. Sözleşme değişkenlerini değiştiren herhangi bir işlemin bir işlemle sonuçlanacağını unutmayın.

Bununla, ilk akıllı sözleşmenizi nasıl yazacağınıza ve Solidity programlama dilini bir çevrimiçi geliştirme ortamında kullanarak nasıl test edip dağıtacağınıza ilişkin temel bilgileri ele aldık. Akıllı bir sözleşmeyle etkileşim kurma ve işlemleri başlatma sürecini de anladık. Bu nedenle, bugün öğrendiklerinizi uygulayın ve akıllı bir sözleşme oluşturun. Sonuçta, pratik mükemmelleştirir!

Toplama

Blockchain teknolojisinde kariyerlerde bir artış var ve blockchain, teknoloji endüstrisinin yüzünü sonsuza dek muazzam bir şekilde değiştirdi. Bir blockchain geliştiricisi olmak ve akıllı sözleşmeler ve zincir kodları oluşturmakla ilgileniyorsanız, IIIT-B & upGrad'ın blockchain teknolojisindeki Gelişmiş sertifika programına göz atın

Akıllı sözleşmelerin bazı olası uygulamaları nelerdir?

Akıllı sözleşmeler, bir sözleşmenin şartlarını otomatik olarak yerine getiren bilgisayar programlarıdır. Güvenli, şeffaf ve kurcalamaya karşı korumalı işlemler sağlayan dağıtılmış bir veritabanı olan blok zinciri teknolojisini kullanırlar. Araç kiralama, otel rezervasyonları ve etkinlik biletleri, akıllı sözleşmelerin nasıl uygulanabileceğine dair sadece birkaç örnektir.

Akıllı sözleşmeler neden normal sözleşmelerden daha güvenli kabul ediliyor?

Akıllı sözleşmeler bir blok zinciri ağında uygulandığından, geleneksel sözleşmelerden daha güvenli olarak kabul edilirler. Blockchain, kriptografik olarak güvenli dağıtılmış bir veritabanıdır. Bu, blok zincirindeki bilgilerin değiştirilemeyeceği veya hacklenemeyeceği anlamına gelir. Sonuç olarak, akıllı bir sözleşmenin yürütülmesinin kesin ve güvenilir olması garanti edilir. Aynı zamanda halka açık ve denetlenebilir, yani blok zincirindeki herkes sözleşmenin koşullarını görebilir ve yürütülüp yürütülmediğini kontrol edebilir. Öte yandan akıllı sözleşmeler, dolandırıcılık ve çatışma riskini azaltmaya yardımcı olabilir. Sonuç olarak, birçok özelliğe sahip olmaları ve kullanımı kolay olmalarıdır.

Akıllı sözleşmeler neden daha popüler hale geliyor?

Akıllı sözleşmelerin en önemli avantajlarından biri, organizasyonlara prosedürleri otomatikleştirme ve maliyetleri düşürme konusunda yardımcı olabilmeleridir. Örneğin, bir şirket, teslimat yapıldıktan hemen sonra tedarikçilerine ödeme yapmak için akıllı bir anlaşma kullanabilir. Bu, şirketin ödemeleri manuel olarak işleme ihtiyacını azaltacak ve hem zamandan hem de paradan tasarruf sağlayacaktır. Ayrıca şirketler ve müşterileri arasında güven oluşturmak için de kullanılabilir. Örneğin, güvenli bir çevrimiçi ödeme sistemi oluşturmak için akıllı bir sözleşme kullanılabilir. Bu, müşterilerin kişisel bilgilerinin tehlikeye girmesinden korkmadan ödeme yapmalarını sağlar. Son olarak, hem insanlar hem de işletmeler için dijital kimlikler oluşturmak için kullanılabilir. İşletmeler, müşterilerinin kimliklerini doğrulayabilecek ve bunun sonucunda onları dolandırıcılıktan koruyabilecektir.