İkinci Adımlar

    Bu bölümde, geliştirme deneyiminizi olabildiğince kolaylaştırmak için birkaç güçlü araç tanıtacağız. Truffle adında bir geliştirme ortamı kuracağız, Solidity’yi keşfedeceğiz, akıllı bir sözleşmenin temellerini ele alacağız (kendi başımıza bile yapacağız!) Ve yerel makinemizde kendi düğümümüzü başlatacağız. Yerel olarak başarılı bir şekilde konuşlandırdıktan sonra, sözleşmemizle etkileşim kurmak ve geliştirme sürecine daha derinlemesine dalmak için Remix’i kullanacağız.!

    Trüf Mantarı Hakkında Bilgi Edinme

    Yer mantarı

    Truffle, Ethereum Sanal Makinesi ile hem bağlanmanıza hem de test etmenize olanak tanıyan mükemmel bir geliştirme ortamıdır. Trüf mantarı, geliştirmeyi kolaylaştırmak için oluşturuldu ve yerel olarak meydana gelen etkileşimlerle bu, hem bir test ağında (Ropsten veya Rinkeby gibi) hem de ana ağda dağıtım stresini azaltmaya yardımcı olur..

    Truffle hakkında daha fazla belge için bir göz atın İşte:

    Ekran Görüntüsü 2020 08 26, 5 49 43 PM

    Truffle’ı terminalinize kurmak için devam edin ve aşağıdakileri çalıştırın:

    npm truffle -g yükle

    Not: Windows için Öneriler

    Truffle’ı Windows’ta çalıştırıyorsanız, Truffle’ın düzgün şekilde çalışmasını engelleyebilecek bazı adlandırma çakışmalarıyla karşılaşabilirsiniz. Bakınız adlandırma çakışmalarını çözme bölümü çözümler için.

    Ganache 

    Biz oradayken devam edelim ve ganache için CLI’yi kuralım

    Ganache ile ilgili hızlı bir özet, projelerin işlevselliğini hızla geliştirmek ve test etmek için yerel olarak kullanabileceğiniz kişisel bir blok zinciri olmasıdır. Ganache, geliştirme döngüsünün tamamı boyunca kullanabileceğiniz bir araçtır. Yalnızca geliştirebilir değil, aynı zamanda dApp’larınızı dağıtabilir ve test edebilirsiniz. Tüm bunlar makinenizde yerel olarak gerçekleşir, bu nedenle bu, projeleriniz üzerinde çalışmak için en düşük sürtünme / risk ortamıdır.!

    Npm kullanma:


    npm yükleme -g ganache-cli

    Tamam, yer mantarına dön!

    Truffle’ın sunduğu tekliflerden bazıları:

    • Yerleşik akıllı sözleşme derleme, bağlama, dağıtım ve ikili yönetim.
    • Hızlı geliştirme için otomatik sözleşme testi.
    • Komut dosyası oluşturulabilir, genişletilebilir dağıtım & geçişler çerçevesi.
    • Herhangi bir sayıda halka dağıtmak için ağ yönetimi & özel ağlar.
    • EthPM ile paket yönetimi & ERC190 standardını kullanan NPM.
    • Doğrudan sözleşme iletişimi için etkileşimli konsol.
    • Sıkı entegrasyon desteği ile yapılandırılabilir derleme ardışık düzeni.
    • Truffle ortamında komut dosyalarını çalıştıran harici komut dosyası çalıştırıcısı.

    Eğitimimiz için sıfırdan bir şeyler inşa edeceğiz, ancak Truffle’ın zaten oluşturduğu bazı kazan projelerine göz atmanız kesinlikle tavsiye edilir. İşte).

    Artık trüf mantarı ve ganaj yüklediğimize göre, sağlamlığı tartışalım.!

    Sağlamlık 

    Solidity, Ethereum Virtual Machine (EVM) üzerinde çalışan akıllı sözleşmeleri uygulamak için inanılmaz popüler, nesne yönelimli, yüksek seviyeli bir dildir. Akıllı sözleşmeler, Ethereum devletindeki hesapların davranışını yöneten programlardır. Daha önce bir Solidity hattına hiç bakmadıysanız, ancak C ++ ve / veya JavaScript’e aşina iseniz, birkaç benzerlikten fazlasını fark edeceksiniz.. 

    Solidity, diğer özelliklerin yanı sıra kalıtımı, kitaplıkları ve karmaşık kullanıcı tanımlı türleri destekleyen statik olarak yazılmış bir dildir. Solidity ile oylama, kitle fonlaması, hatta kör müzayedeler gibi kullanımlara yönelik sözleşmeler oluşturabilirsiniz.. 

    Solidity, EVM’de çalıştırılabilen bayt kodu olarak derlenir. Solidity ile geliştiriciler, akıllı sözleşmelerde yer alan kendi kendini uygulayan iş mantığını uygulayan ve işlemlerin inkar edilmeyen bir kaydını bırakan uygulamalar yazabilirler. Akıllı sözleşmeler, kullanıcıların, potansiyel insan yolsuzluğunun büyük ölçüde ortadan kaldırıldığı güvensiz bir ortam oluşturmaya yardımcı olan koda güvenmesine olanak tanır. 

    Sözleşmeleri dağıtırken, kullandığınız sürüme her zaman dikkat etmeniz gerektiğini unutmayın. Değişiklikler, yeni özellikler ve hata düzeltmeleri düzenli olarak tanıtılır (kendinizi çevrimiçi eğitimleri takip ederken bulursanız bunu unutmayın, hatalarla karşılaşabilirsiniz, bu nedenle size yakın belgeler). 

    Trüf Mantarı Projesi Başlatma 

    Bununla birlikte, projemize başlayalım ve ona “eth-merhaba-dünya” adını verelim

    Terminalinize atlayın ve yeni bir boş klasör oluşturalım 

    mkdir eth-merhaba-dünya

    Boş dizinimizi aldıktan sonra devam edin ve klasöre atlayın ve komutu çalıştırın

    yer mantarı başlatma

    İşlem bittiğinde, bizim için oluşturulmuş bazı dosyaları görüntüleyebilmeliyiz:

    Ekran Görüntüsü 2020 08 26, 7 21 53 PM

    Artık kişilerimiz, geçişlerimiz, bir test klasörümüz ve truffle-config dosyamız var. Şimdi bu dosyalara bir göz atalım ve ne olduklarını daha yüksek bir düzeyde tartışalım.

    Sözleşmeler

    Bu klasör tüm akıllı sözleşmelerinizi içerecektir (bu örnekte Solidity kullanarak oluşturacağız). Akıllı kişileri hiç duymadıysanız, onlar hakkında düşünmenin bir yolu; Blockchain üzerinde çalışan (bu yerel, test veya ana ağ olabilir), onları çalıştıran herkes için aynı sonuçları üretmesi garanti edilen kod parçaları. Akıllı Sözleşmeler, dApp’ler (merkezi olmayan uygulamalar) içinde kullanılır ve çok sayıda kullanım alanına sahiptir. Oylama, oyun, tedarik zinciri, para birimleri, mali kayıtlar ve bunlardan sadece birkaçı!

    Nick Szabo, bunu daha da açıklığa kavuşturmak için otomat makinesine bir örnek veriyor. Makineye doğru miktarda jeton koyarsanız, siz (ve sizden önceki / sonraki herkes) değişimde aynı sonucu bekleyebilirsiniz. Aynı şey Ethereum üzerine kurulu akıllı kişiler için de geçerli, bir değer içeriyorlar ve koşulları karşılanana kadar (örn. Bizim örneğimizde doğru miktarda jeton), daha sonra almaya çalıştığınız bilgilerin kilidini açacak ve serbest bırakacaktır..

    Sağlamlık ve akıllı sözleşmeleri tartışmaya biraz sonra geri döneceğiz, hadi geçişlere geçelim!

    Göçler

    Geçişler, sözleşmelerinizi Ethereum ağına yerleştirmenize izin veren Javascript dosyalarıdır. Onlar hakkında gerçekten ilginç olan şey, çalışmanızın gelişeceği ve dağıtımınızın zamanla değişeceği temel bir varsayımdır. Güncellemeleri yaptıkça, projenizin gelişimi sırasında yeni taşıma komut dosyaları oluşturacaksınız. Geçiş dosyaları hakkında düşünmenin bir yolu, görevlerinizin aşamalandırılmasından ve dağıtımından ağırlıklı olarak sorumlu olmalarıdır. Bunlar hakkında düşünmenin basit bir yolu, geçişlerin bir dizi yönetilen dağıtım betikleri olmasıdır. Çalışmanızı güncellediğinizde, daha önce çalıştırdığınız geçişlerin bir günlüğü, bir yerleşik Geçişler sözleşmesi aracılığıyla zincir üzerinde kaydedilir..

    Kendinize bir bakın, zaten bir göçmenlik sözleşmeniz var! Sözleşme dizininize gidin ve açın, şuna benzer bir sözleşme içeren bir Migrations.sol dosyası göreceksiniz:

    Ekran Görüntüsü 2020 08 27, 4 49 03 AM

    Bu, truffle init’i çalıştırdığımızda bizim için oluşturulan varsayılan bir sözleşmedir. Truffle, doğası gereği, taşıma özelliğini kullanabilmeniz için bir Taşıma sözleşmesine sahip olmanızı gerektirir, bu nedenle bunu silmeyin!

    Not: Taşıma özelliğinden yararlanmak için bu sözleşmeyi ilk geçişinizde dağıtmanız gerekir..

    Artık Taşıma sözleşmemize bakma şansımız olduğuna göre, taşıma dizinine gidebiliriz ve 1_inital_migrations.js adlı bir dosya göreceğiz.

    Not: Bu dosyanın adlandırma kuralına bir göz atın, bir sayı ile ön ekli ve bir açıklama ile son eklenmiştir. Numaralandırılmış önek, taşıma işleminin başarıyla gerçekleştirilip gerçekleştirilmediğini kaydetmek için gereklidir. Son ek tamamen insan tarafından okunabilirlik içindir

    Ekran Görüntüsü 2020 08 27, 5 09 25

    Sözleşmeler oluştururken, onlarla birlikte bir migration.js dosyasına sahip olduğunuzdan emin olmanız gerekir. Artifacts.require (), deployer.deploy vb. Derinliklerine dalmadan İşte trüf mantarı ekibinden bu yöntemlerin kullanımını daha iyi açıklamak için bazı mükemmel belgeler.

    Bir Truffle projesi derlemek için, projenin bulunduğu dizinin köküne geçin ve ardından aşağıdakileri bir terminale yazın:

    truffle derlemesi

    Taşıma işlemlerinizi terminalinizde çalıştırmak için sonunda çalıştıracaksınız (yine de bekle, bunu henüz yapmamıza gerek yok!)

    yer mantarı göçü

    Bu, projenizin taşıma dizininde bulunan tüm taşıma işlemlerini çalıştıracaktır..

    Dikkat edilmesi gereken nokta, bu komutun yalnızca yeni oluşturulan taşımaları çalıştıracağıdır. Dolayısıyla, önceki geçişiniz başarılı bir şekilde çalıştırıldıysa yeniden çalıştırılmaz. Ayrıca, çalıştırılacak yeni taşıma yoksa çalıştırılmayacaktır. Gerekirse, tüm taşıma işlemlerinizi baştan çalıştırmak için –reset seçeneğini kullanabilirsiniz..

    Diğer komut seçenekleri belgelenmiştir İşte.

    Not: Daha önce kurduk, ancak yerel testler için aşağıdaki gibi bir test blok zincirine sahip olduğunuzdan emin olun. Ganache geçişi gerçekleştirmeden önce yüklendi ve çalışıyor.

    Test yapmak

    Test yazma söz konusu olduğunda, trüf mantarı bunu sezgisel hale getirmek için bazı mükemmel araçlarla birlikte gelir. Özellikle sözleşmelerinizi ana ağa dağıtmayı planlıyorsanız (ancak testnet üzerinde bile iyi bir uygulamadır) testler yapmak ve sözleşmelerinizi yeteneklerinizin en iyisine göre kontrol etmek çok önemlidir. Truffle, geliştirmenizi gözden geçirmeyi / test etmeyi basit ve yönetilebilir hale getirdi.

    Truffle, Mocha test çerçevesi ve Chai JavaScript testlerinizi yazmanız için size sağlam bir çerçeve sağlayacak iddialar için. 

    Not: Mocha’da birim testleri yazmaya aşina değilseniz, lütfen şu bölüme bakın: Mocha’nın belgeleri devam etmeden önce.

    Yan not: Sözleşmelerinizi ayrıntılı bir şekilde incelemek için kullanabileceğiniz mükemmel bir araç, Efsane, Akıllı sözleşmeler için derinlemesine incelemeler sunan alanında önde gelen güvenlik analizi hizmeti. Görevleri, yalnızca maliyetli hatalardan kaçınmanızı sağlamak değil, Ethereum’u genel olarak daha güvenli ve güvenilir bir platform haline getirmektir..

    Tüm test dosyaları./test dizininde bulunmalıdır. Truffle yalnızca şu dosya uzantılarına sahip test dosyalarını çalıştırır: .js, .ts, .es, .es6, .jsx ve.sol. Diğer tüm dosyalar göz ardı edilir.

    Tüm testleri çalıştırmak için şunu çalıştırın:

    yer mantarı testi

    Artık trüf mantarı init’inin yarattığı şeyi ve projemizin iskelesini ele aldığımıza göre, şimdi devam edelim ve akıllı sözleşmemizi projemize ekleyelim.!

    Akıllı Sözleşme Yazma

    Sözleşme dizinine geçelim ve yerel test ortamımıza (ganache) dağıtmayı planladığımız ilk sözleşmemizi yazalım.!

    HelloWorld.sol adını vereceğimiz.sol dosyamızı oluşturarak başlayacağız.

    Daha sonra, buna benzer bir şeye benzeyen temel sözleşmemizi ekleyebiliriz

    pragma sağlamlığı >= 0.5.8 <0.7.0; sözleşme HelloWorld {string genel mesaj; yapıcı (dize belleği initMessage) public {message = initMessage; } işlev güncellemesi (dize belleği newMessage) public {message = newMessage; }}

    Sözleşmemize biraz daha yakından bakarsak, birkaç unsuru ortadan kaldırabiliriz.

    Unutmayın, bir sözleşme işlevler ve verilerden oluşan bir koleksiyondur (durumu).

    Pragma anahtar sözcüğü, belirli derleyici özelliklerini veya kontrolleri etkinleştirmek için kullanılabilir. Bir pragma yönergesi her zaman bir kaynak dosyasında yereldir, bu nedenle projenizde etkinleştirilmesini istiyorsanız tüm dosyalarınıza pragma eklemeniz gerekir. Sağlamlık dosyamızın (veya herhangi bir) başlangıcında bir pragma beyanı olmadan, sözleşmemiz nasıl derleneceğini bilemeyecek.

    (İşte sağlamlık nüanslarının giriş ve çıkışlarını öğrenmek için sağlamlık belgelerine bir bağlantıdır)

    Nihayetinde, bir sözleşme, Ethereum blok zincirinde belirli bir adreste bulunan bir işlevler ve veriler (durumu) koleksiyonudur..

    Sözleşmemizin işlevselliğine baktığımızda, mesajımızı görüntülenebilir genel dize olarak ayarladığımızı görebiliriz. 

    “Genel” anahtar kelimesi, değişkenleri bir sözleşme dışından erişilebilir hale getirir ve diğer sözleşmelerin veya SDK’ların değer dizesine genel mesaja erişmek için çağırabileceği bir işlev oluşturur..

    sözleşme HelloWorld {string genel mesaj;

    İşte yalnızca sözleşmenin oluşturulması sırasında çalışan bir işlev 

    yapıcı (dize belleği initMessage) public {message = initMessage; }

    Bir dizi değeri alır ve değeri bellek veri depolama alanında saklar, mesajı bu değer mesajına ayarlar, yani initMessage.

    Daha sonra parametre olarak iletilen ve güncelleme işlevi ile değiştirilebilen / güncellenebilen bir mesajı başlatabiliriz..

    Bu, parametre olarak bir dizeyi alan ve “mesaj” ı güncelleyen herkes tarafından erişilebilen bir işlevdir (aşağıya bakın).

    işlev güncellemesi (dize belleği newMessage) public {message = newMessage; }}

    İşte karşınızda, basit ama sindirilebilir bir HelloWorld sözleşmesi!

    Artık sözleşmemizi eklediğimize göre, artık derleme yeteneğine sahip olduğundan emin olabiliriz.!

    Projemizdeki Migration klasörüne gidin ve şimdi HelloWorld sözleşmemize adanmış a.js dosyası oluşturacağız..

    Yeni bir dosya oluşturacağız ve adı 2_deploy_contracts.js.

    Önceki adlandırma kurallarına ilişkin notu hatırlayın.!

    const HelloWorld = artifacts.require ("Selam Dünya"); module.exports = function (deployer) {deployer.deploy (HelloWorld, "dizi"); };

    İyi iş! Sözleşmemizi uygulamaya neredeyse hazırız, ancak önce truffle-config dosyalarımızın kiminle konuşacağımızı bildiğinden emin olmalıyız. Daha önce de belirtildiği gibi, bu bölümde yerel ortamımıza odaklanacağız, ancak 3. bölümde (spolier) yalnızca yerel olarak oluşturmak ve dağıtmakla kalmıyoruz, onu bir test ağına da getiriyoruz!

    Ağlarla ilgili bölümü görene kadar truffle-config.js dosyanızda aşağı kaydırın

    uncomment / aşağıdakileri ekleyin 

    ağlar: {geliştirme: {ana bilgisayar: "127.0.0.1", bağlantı noktası: 8545, ağ_kimliği: "*", },

    Şimdi dosyanız şunun gibi görünmelidir:

     

    Ekran Görüntüsü 2020 08 31, 6 14 45 AM

    Burada olan şey, yapılandırma dosyamıza neyle bağlantı kuracağımız konusunda belirli talimatlar vermemizdir. Bu durumda, yakında göreceğiniz gibi, ganache-cli aracımıza bağlanacağız.

    Ganache’yi başlat

    Bununla birlikte, devam edelim ve ganajımızı başlatalım dedi. 

    terminalinde devam et ve koş 

    Ganache-cli

    Ekran Görüntüsü 2020 08 31, 6 20 12

    Bunu kontrol et! Şu anda terminalinizde kendi TestRPC’nizi çalıştırıyorsunuz! 

    (bu konuda daha fazlası İşte)

    Not: Terminalinizdeki bu sekmeyi açık tutun, ancak devam edin ve çalışmak için yeni bir tane açın..

    Hızlı İnceleme 

    Projemize geri dönelim ve yaptıklarımızı hızlıca gözden geçirelim. 

    • Yeni bir proje yarattık
    • İlklendirilmiş Trüf
    • İskelede hızlı bir tur attı
    • HelloWorld sözleşmemizi oluşturdu
    • Sözleşmemiz için geçişler klasörümüze mantık eklendi
    • Yapılandırma dosyamıza girdik ve ağ bilgilerimizi düzenledik 

    Kontratımızı kurup çalıştırmanın zamanı! 

    Yeni terminal penceremizde (diğerinde ganache çalıştığından) 

    hadi devam edelim ve koşalım 

    truffle derlemesi

    Şimdi bunu terminalinizin sonucu olarak görmelisiniz:

    Ekran Görüntüsü 2020 08 31, 7 07 17

    Şimdi projenize giderseniz, sözleşme klasörünüzün üzerinde two.json dosyalarını içeren bir yapı / sözleşmeler klasörünüz olduğunu göreceksiniz. Görmelisin: 

    • HelloWorld.json
    • Migrations.json 

    Yüksek düzeydeki.json dosyası, konuşlandırılan sözleşmeyi ve işlevlerini açıklar. Sözleşmeyi bağlamsallaştırmamızı ve işlevlerini çağırmamızı sağlar.

    İçeriye bakarsak bir sürü bilgiyi görebiliriz:

     

    Ekran Görüntüsü 2020 08 31, 8 01 28 AM

    Üçüncü adımda bu bilgileri daha derinlemesine inceliyoruz ancak göz atmamız gereken önemli bir şey ABI.

    Uygulama İkili Arayüzü, akıllı sözleşmelerle çalışmak için Ethereum’da kullanılan bir veri kodlama şemasıdır..

    Bilgiye bir göz attığımızda anlamak nispeten sezgiseldir. ABI ayrıca kullanıcının fonksiyonları nasıl çağırabileceğini, yani akıllı sözleşme adresine göre fonksiyonun konumunu tanımlar. Yüksek seviyeli bir özet, ABI, sözleşme arayüzünün açıklamasıdır. Kod içermez ve kendi kendine çalıştırma yeteneği yoktur. Ardından, çalıştırılabilir EVM kodu olan, ancak kendi başına bağlamsız olan bayt koduna sahip olursunuz..

    Geçiş zamanı

    TAMAM MI! 

    Artık ganache klibimizi çalıştırdığımıza ve akıllı sözleşmemizi derlediğimize göre, şimdi sözleşmelerimizi taşıma zamanı.! 

    terminalinde devam et ve koş 

    yer mantarı göçü

    EVET! Sen yaptın!

    Ekran Görüntüsü 2020 08 31, 8 37 37

    Akıllı sözleşmemizi başarıyla uyguladığımızı görebiliriz. Gerçekten yararlı bazı bilgilerin üretildiğini görebilirsiniz ve ganachi-cli çalışırken diğer sekmenize giderseniz bir TransactionReceipt görmelisiniz (kendinize bir göz atın).

    ETH’yi test edin 

    Remix’e geçmeden önce, Remix’teki gaz ücretlerini ödeyebilmemiz için bir miktar test ETH’si almamız gerekiyor (endişelenmeyin, bu size paraya mal olmayacak). 

    Başını aşmak bu musluk ve biraz Rinkeby alın. 3. adımda ETH testinin ne olduğuna bakıyoruz, ancak bu adımda sadece bir Proof of Authority ağı olan Rinkeby’yi kullanacağımızı bilin, bir Proof of Work testnet olan Ropsten diyelim (ki bu genel ana sisteme daha çok benziyor) ağ). 2. ve 3. adımları tamamladıktan sonra, deneyebileceğiniz MetaMask cüzdanınızda her ikisinden de bazılarına sahip olacaksınız.!

    Remiks

    Tamam, EHT’yi test ettiğimize göre, Remix’e gitme ve sözleşmemizi yerel ortamımızın dışında dağıtma ve hatta onunla etkileşim kurma becerisine sahip olma zamanı.!

    “Remix de neyin nesi?” 

    Sordun sevindim! 

    Remix, Solidity sözleşmelerini doğrudan tarayıcıdan yazmanıza yardımcı olan güçlü, açık kaynaklı bir araçtır. Özellikle Remix ile ilgili gerçekten şaşırtıcı bir unsur, hem tarayıcıda hem de yerel olarak kullanımı desteklemesidir! Remix, birkaç temel özelliği belirtmek için test, hata ayıklama ve sözleşmeli dağıtımı destekler. Remix, geliştirme sürecinde bir geliştirici için temel bir araç olarak düşünülmelidir. Yerel dağıtımdan (daha önce yaptığımız gibi) ganache ile başlamak mükemmel bir temeldir, yerel dağıtımdan hareket ederek Remix’teki sözleşmemizi deneyebilir ve etkileşime girebiliriz.

    Ana ethereum ağına potansiyel bir lansman öncesinde gelişiminizi (tekrar tekrar) doğru ikna etmek ve test etmek sizi belki de bir baş ağrısından daha fazla kurtarabilir.!

    Şimdi aynı sözleşmeyi alalım ve Remix’i kullanarak yerel ortamımızın dışında konuşlandıralım 

    Bağlantı İşte 

    Sözleşmemiz 

    Yeni dosyaya tıklayın ve HelloWorld.sol olarak adlandıralım

    (işte tekrar kullanacağımız sözleşme) 

    pragma sağlamlığı >= 0.5.8 <0.7.0; sözleşme HelloWorld {string genel mesaj; yapıcı (dize belleği initMessage) public {message = initMessage; } işlev güncellemesi (dize belleği newMessage) public {message = newMessage; }}

    Şimdi devam edip sözleşmemizi sahaya ekleyebiliriz. (Aşağıya bakın) 

    Ekran Görüntüsü 2020 08 31, 9 47 48 AM

    Şimdi, seçtiğiniz derleyici sürümünü soran sol menüye bakalım..

    Derleyici

    Sözleşmemiz dahilinde derleyici yelpazemizi ilan ettiğimizi unutmayın.

    Pragma anahtar kelimesinin belirli derleyici özelliklerini veya kontrolleri etkinleştirmek için kullanıldığını unutmayın.. 

    Böylece derleyicimizi, sağladığımız aralığa denk gelen 0.6.0 değerine ayarlayabiliriz (bkz. Darbe) 

    Ekran Görüntüsü 2020 09 08 8 44 41 AM

    Sözleşmemiz otomatik olarak derlenmeli, devam etmemeli ve Compile HelloWorld.sol’a tıklamalıdır.

    Daha sonra sözleşmemizi uygulamak için Çevremizi kuracağız! 

    İşlemleri dağıtın ve çalıştırın

    Çevre 

    Ortamınızı seçerken birkaç farklı seçenek göreceksiniz:

    JavaScript sanal makinesi: Tüm işlemler tarayıcıda bir sandbox blok zincirinde yürütülecektir. Bu, sayfayı yeniden yüklediğinizde hiçbir şeyin kalıcı olmayacağı anlamına gelir. JsVM kendi blok zinciridir ve her yeniden yüklemede yeni bir blok zinciri başlatır, eskisi kaydedilmez.

    Enjekte Edilen Sağlayıcı: Remix, enjekte edilen bir web3 sağlayıcısına bağlanacak. Metamask web3 enjekte eden bir sağlayıcı örneğidir.

    Web3 Sağlayıcısı: Remix, uzak bir düğüme bağlanacaktır. URL’yi seçilen sağlayıcıya sağlamanız gerekecek: geth, parite veya herhangi bir Ethereum istemcisi.

    Bu örnekte kullanacağız: Enjekte Web3

    MetaMask cüzdanımızı kullanacağız ve Rinkeby test Ağımıza bağlı olduğumuzdan emin olacağız. 

    Sol tarafta Rinkeby’ye bağlı olduğumuzu görebilir ve ayrıca bağlı hesap adresimizi görebiliriz.! 

    Ekran Görüntüsü 2020 09 08 8 30 29 AM

    Her şeyi ayarladıktan sonra, devam edelim ve sözleşmemizi dağıtalım!

    Ekran Görüntüsü 2020 09 08 8 57 35 AM

    &# 127881; Başardık! &# 127881; 

    Sağlanan terminale göz atın ve onayı görebilirsiniz

    Ekran Görüntüsü 2020 09 08 8 58 11 AM

    Artık konuşlandırılmış sözleşmemizi görme yeteneğine sahibiz, mesajımızı güncelleyebiliriz (durumu güncellediğimiz için bunun için gaz ücretini hem imzalamalı hem de ödemeliyiz)

    Onay aldıktan sonra mesajımızın güncellendiğini görebiliriz!

    Ekran Görüntüsü 2020 09 08, 9 18 54 AM

    &# 129395; Aferin! &# 129395; 

    Başlangıçta yerel olarak başladığımız sözleşmeyi aldık ve sözleşme etkileşiminin görsel bir temsiline sahip olmak için bu sözleşmeyi Remix’e yerleştirdik. Bu, geliştiriciler için bu alanda inşa etmeye başladıkları için sağlıklı bir akış. Remix, sıklıkla kullanılması gereken inanılmaz bir araçtır. 3. Adımda bir adım daha ileri gidip 1. Adımda öğrendiğimiz tüm bilgileri birbirine bağlayacağız. & 2 ve Truffle + Infura + React’i birbirine bağlayın! 

      Geliştiricinin İlk Katılımı: 1. AdımGeliştirici İlk Katılımı Adım 1

      Geliştiricinin İlk Katılımı: 1. Adım

      Geliştiricinin İlk Katılımı: 3. AdımGeliştirici İlk Katılımı 3. Adım

      Geliştiricinin İlk Katılımı: 3. Adım

      10 Dakikalık Ethereum Oryantasyonu10 Dakikalık Ethereum Oryantasyonu

      10 Dakikalık Ethereum Oryantasyonu

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