Blockchain Okulu (Ders 8): Sözleşme sayfası dağıtım sözleşmesi + Token sözleşmesi ayrıntılı açıklama + İşlem

Mist'te sözleşme sayfası

Sözleşme sayfasını görmek için Mist sayfasındaki Sözleşmeler'e tıklayın

Yeni bir sözleşmeyi dağıtmak için Yeni Sözleşmeyi Dağıt düğmesine tıklayın. Düğmeye tıkladığımızda, üst arayüz aşağıdaki gibi olacaktır:

  • Kimden'de bir hesap seçebiliriz, Ana Hesap / hesap 1, hangi hesabı seçebiliriz, ardından bu hesap sözleşmenin yaratıcısıdır. sözleşme Simgesi {... adres genel sahibi; işlev Simgesi {sahip = msg.sender; ...}
  • Buradaki miktar, akıllı sözleşmeye ödenen Ether'i ifade eder.Daha önce belirtildiği gibi, Ethereum mimarisinde akıllı sözleşme özel bir hesap olarak kabul edilir, bu nedenle akıllı sözleşme, kabul edilebilir olan diğer hesaplar gibi takas edilebilir. Ether, Ether de ödeyebilirsin.
  • Tabii ki, şu anda bir token sözleşmesidir, bu nedenle akıllı sözleşmeye herhangi bir eter ödemeye gerek yoktur.
Arayüzün sis alt yarısı pragma sağlamlığı 0.4.8; sözleşme Jetonu {eşleme (adres = > uint) public balancesOf; genel sahibin adresi; function Token {owner = msg.sender; balancesOf = 10000;} işlev aktarımı (adres _to, uint _value) {if (balancesOf < _value) throw; // Aktarılan jetonların mevcut envanteri aşmasını önleyin if (balancesOf + _value < balancesOf) throw; // Kendinizi veya balancesOf'u özyinelemeli olarak çağırmaktan kaçının - = _value; balancesOf + = _value;} işlev mint (uint _amount) {balancesOf + = _amount;}}

Gördüğünüz sonuçlar aşağıdaki gibidir:

  • Yukarıdaki Şekil 2'de gösterildiği gibi, sözleşme kodunu yapıştırdığımız sürece, derleme başarılı olursa, Mist'in otomatik olarak dağıtmamız gereken sözleşme adını okuduğunu göreceğiz. Bu Sözleşme Jetonudur.
  • Not: Sözleşmenin ilk harfinin büyük harfle yazılması gerekir, özellikle birden çok sözleşme olduğunda, program ana sözleşme olarak ilk harfin büyük harfle yazılmasına öncelik verecektir.
  • Yukarıdaki Şekil 3'te gösterildiği gibi, sözleşmenin yayılma hızını ayarlayabiliriz. Daha önce sözleşmenin özel bir hesap olduğunu ve hesaplar arasındaki herhangi bir işlemin Gaz tüketmesi gerektiğini söylemiştim.Gaz sözleşmenin kendisi tarafından belirlenir ve milyon gaz başına Eter Oracle tarafından belirlenir.Fiyat ne kadar pahalı olursa, öncelik o kadar hızlı olur. Yüksek, fiyat ne kadar ucuzsa, hız o kadar yavaş, öncelik o kadar düşük olur.
  • Gaz Tüketmek Ether tüketmek anlamına gelir, bu nedenle herhangi bir hesapla bir sözleşme yapmak için bir şifre girmelisiniz.
  • Yukarıdaki kavramlar daha önce tekrarlanır ve daha sonra tekrarlanmayacaktır.
Sayfa analizi dağıtın

  • Sözleşme özel bir hesaptır ve dağıtım sözleşmesi, Ethereum'un altındaki bir hesaptan diğerine yapılan bir işlemdir.
  • Maksimum ücret sağlayın'daki Gaz sayısını değiştirmeyi unutmayın. Konuşlandırmaya ek olarak, bir sözleşmenin bir kurucu yürütmesi ve verileri dağıtması gerekir.Gaz yetersizse, dağıtım başarısız olacaktır.

  • Ham Veri, sözleşme kodunun derlenmiş bayt kodudur, parolayı girin ve sözleşme dağıtımını tamamlamak için İşlemi Gönder'e tıklayın.
Dağıtımdan sonraki sözleşme sayfası şöyle

Sözleşme neden ilk seferde çıkmadı? Herhangi bir sözleşme özel bir hesap olduğundan, özel hesaplar arasındaki herhangi bir işlemin her blok tarafından çıkarılması ve onaylanması gerekir.

Bir süre sonra sözleşmenin ortaya çıktığını görebiliriz.

Şimdiye kadar sözleşmenin dağıtımını tamamladık Bir sonraki bölümde, Token sözleşmesinin işlevlerini ve değişkenlerini ayrıntılı olarak ele alacağız.

-

Token sözleşme kodu aşağıdaki gibidir:

  • Yukarıdaki koddan, balancesOfowner olmak üzere toplam iki öznitelik olduğunu görebiliriz.
  • Ayrıca iki yöntem vardır, minttransfer

Akıllı sözleşme bakiyelerinin nitelikleri

Sözleşme arayüzünde Token sözleşmesini açmak için tıklıyoruz.

Solda, sözleşme bakiyelerinin iki niteliğinin olduğunu görebilirsiniz.

Sahibi = msg.sender kodu kurucuda yazılır, bu nedenle sözleşmeyi kim yaratırsa yaratır, değişken sahibi msg.sender olur. Burada sahip = hesap1, hesap 1'in bu sözleşmeyi oluşturduğu anlamına gelir. balancesOf = 10000; Yani balancesOf dizisindeki owner değeri 10000; aynı balancesOf 0 olmalıdır, eth.accounts ve eth.accounts adreslerini geth'den kolayca alabiliriz.

> eth.accounts

Ardından, şekilde gösterildiği gibi değişken bakiyeleri kontrol edin:

Akıllı sözleşme yöntemi nane

  • Yöntem mintbalancesOf + = _amount; balancesOf
  • Aşağıdaki şekilde gösterildiği gibi sağdaki Nane yöntemini seçiyoruz, miktarı = 1000 olarak ayarlıyoruz.

  • Kilit simgesi, sıradan bir Ethereum hesabı ve akıllı sözleşme hesabıyla yapılan sözleşmedir. Daha önce akıllı sözleşmenin de özel bir hesap olduğunu söylemiştim.
  • Benzer şekilde, herhangi bir işlemin yürütülmesi için gaz gerekir ve bunu yapan kişi gazı taşır.Yukarıdaki seçimde, ana hesabı seçiyoruz, ardından ilgili gaz ana hesap tarafından karşılanıyor
  • ham veri: sözleşmeye aktarılan belirli verileri temsil eder, bu, nane işlevinin yürütülmesini temsil eden kısa bir adres içerir
  • Parolayı girdikten sonra, gönderme işlemini tıklayın ve ardından bir madencilik süresi bekleyin, sonuç aşağıdaki şekilde gösterildiği gibi, balancesOf'un 1000 arttığını görebilirsiniz;

Akıllı sözleşme yöntemi aktarımı

  • Yöntem transferbalancesOf - = _value; balancesOf + = _value;

    Yani msg.sender_to

    Bu yüzden transfer şifresini çağırıyoruz ve aşağıdaki gibi ayarlıyoruz

  • Yürüt'e tıkladıktan sonra, hesap şifresini girin ve yöntem aktarımını yürütün
  • Yürütmenin sonucu aşağıdaki gibidir: balancesOf = 10700balancesOf = 300
  • Aşağıda gösterildiği gibi:

Şimdiye kadar, Mist'te hesap sayfası ve sözleşme sayfasının yanı sıra sözleşmeleri ve sözleşmeleri dağıtmanın özelliklerini ve yöntemlerini tanıttık.

Bir sonraki bölümde Ethereum'un başka bir çekirdeğine odaklanacağız: İşlem

Mist'teki temel kavramların gözden geçirilmesi

Ethereum hesap sistemi
  • Bunlardan biri, bir çift genel ve özel anahtardan oluşan sıradan bir Ethereum hesabıdır. Genel anahtar, hesabın adresidir ve herkese açık hale getirilebilir. Gizli anahtar, parolanın şifrelenmiş bir karma değeridir. Özel anahtar düzgün bir şekilde saklanmalıdır. Kaybettikten sonra kanıtlanamaz Sen sensin
  • Biri bir sözleşmeli hesap, özel bir hesap, kodlardan oluşan bir hesaptır. Bu tür bir hesap aynı zamanda normal bir hesap gibi Ether alabilir veya Ether verebilir ve ayrıca ticari uygulamaları gerçekleştirmek için EVM aracılığıyla akıllı sözleşmedeki yöntemleri uygulayabilir.

** Önceki bölümlerin fiili işleyişinde bu anlatımlara ilişkin daha derin bir anlayışa sahibiz.

İşlemler
  • Hesaplar ve hesaplar arasındaki işlemler, eth.accountseth.accounts gibi İşlemler aracılığıyla yürütülür.

  • Başka bir örnek için, Token sözleşmesindeki mintmsg.sender akıllı sözleşme adresini yürütüyoruz

Bloklar

Bloklar aynı zamanda bir bloktur, blok zinciri blok zinciri, adından da anlaşılacağı gibi, bloklarla bağlanmış dağıtılmış bir veritabanıdır. Hesaplar arasındaki herhangi bir değişiklik, yeni çıkarılan Bloklar tarafından defterlerine dahil edilmeli ve birden çok blok tarafından tanınmalıdır, bu durumda işlemin şu anda etkili olduğu kabul edilir. Aksi takdirde geçersizdir.

Sıradan hesaplar arasında Ether transferi için işlem

Ana Hesaptan Hesaba 100 eter transfer etmek için işlemi 4.2'de tekrarlayabiliriz. 1. Ardından hemen Ana Hesap sayfasını açın ve Son İşlemlerin böyle göründüğünü görüyoruz.

  • İşlemin ayrıntılarını görmek için İşlem'e tıklayın

Bir İşlem için, aynı zamanda çıkarılması ve hesaplanması gereken ve birden fazla blokla onaylanması gereken kendi adresine de sahip olduğu açıkça görülebilir.

Akıllı sözleşme ile çağrılan işlem

Token sözleşmesini açabilir, jeton sözleşmesindeki darphane yöntemini tekrar arayabilir ve ardından şekilde gösterildiği gibi ayrıntıları görüntülemek için işlemi açabiliriz:

  • Yukarıdaki resimden, akıllı sözleşmenin dendiğini açıkça görebiliriz:
  • Akıllı sözleşmenin adresine bir işlem göndermektir
  • Ek olarak, nane gibi akıllı sözleşmelerde arama yöntemlerinin işlevini gerçekleştirmek için ham verilerin verilmesi gerekir.
İşlem kavramı çok önemlidir.Bazen akıllı sözleşme işlevini çağırmanın etkili olmadığını görürüz. Nasıl performans gösterdiğini öğrenmek için İşlem'e daha fazla bakmamız gerekir.

Yayınlandığı sırada Bitcoin standart fiyatı: 7041,00 Satış fiyatı: 6787,00 (Kaynak: Huobi.com - Güvenli ve güvenilir bir Bitcoin ticaret platformu)

Göbek nasıl düzleştirilir? Bir parça eti 6 parça karın kasına dönüştürmek için 6 basit eylem!
önceki
Aramayı yanıtlayıp elektrikli SUV'ye geçilsin mi? Aşağıdaki modeller de moda seçimlerdir
Sonraki
Her gün yürüyüşe çık ve daha uzun yaşa! Günde 1 saat yürüyerek bu 4 avantajı elde edebilirsiniz.
Yunanistan, aslında bu açıklanamayan hava olgusuyla ilgili olan nadir bir yağmur fırtınasıyla karşılaştı!
Sübvansiyon politikaları ve teknolojik gelişme, 2018'de yeni enerji binek araç pazarını etkilemeye devam edecek
5 çeşit yiyecek "Şeker Kralı" dır: Ağzınızı kontrol edemezseniz, çabuk şişmanlayacaksınız!
Antarktika'da bir milyon büyük yengeç ortaya çıktı! Netizenler salya akıyor ama doğa gözyaşı döküyor
Küçük SUV yıllarca bir araya mı geliyor? 2017'deki yeni küçük SUV'lara baktığımızda, epeyce var
Yatmadan önce 6 egzersiz yapın, karnınızı ve fil bacaklarınızı kaybedin ve bunu yatakta yapabilirsiniz!
Bu yılın 25 numaralı tayfunu "Hongyan" üretildi, bu yüzden Güney Çin özel dikkat göstermeli!
Yoğun nem nedeniyle kilo vermek zor mu? Rutubetten kurtulmanın ve kilo vermenin 4 yoluna sadık kalın!
Arabalar kışın "petrol kaplanı" oluyor. Neden böyle?
Soğuk dalga geçtikten sonra, soğuk hava sonsuzdur! Kuzeyin toparlanması zor ve güney ıslak ve soğuk olmaya devam ediyor!
Amcalar, A6L'ye ek olarak, aralarından seçim yapabileceğiniz birçok arabanız var
To Top