Trüf Süiti Nedir? Özellikler, Nasıl Kurulur, Akıllı Sözleşmeler Nasıl Çalıştırılır
Yayınlanan: 2020-03-24İlk günlerde, Blockchain ana akım teknoloji alanına yolculuğuna yeni başladığında, Solidity programlama dilini kullanarak Akıllı Sözleşmeler geliştirmeniz ve bunları geth veya solc işlevlerini çağırarak dağıtmanız gerekiyordu.
Bu süreci biraz daha kolaylaştırmak için, önce sözleşmeyi derleyecek ve sonra dağıtacak bash betikleri yazmanız gerekiyordu. Şimdi, ikinci yaklaşım öncekinden daha iyi olsa da, bash komut dosyası oluşturmanın genellikle bir standardizasyon eksikliği gerektirdiği göz önüne alındığında, oldukça ilkeldi.
Blockchain Akıllı Sözleşmeleri için kesintisiz ve optimal bir geliştirme ve test çerçevesi yaratma ihtiyacı, Truffle Etheruem'i doğuran şeydir.
Dünyanın En İyi Üniversitelerinden Çevrimiçi Yazılım Mühendisliği Kursunu Öğrenin. Kariyerinizi hızlandırmak için Yönetici PG Programları, Gelişmiş Sertifika Programları veya Yüksek Lisans Programları kazanın.
İçindekiler
Trüf Süiti nedir?
Truffle Suite'e göre Truffle, "bir geliştirici olarak hayatı kolaylaştırmayı amaçlayan, Ethereum Sanal Makinesi (EVM) kullanan blok zincirler için birinci sınıf bir geliştirme ortamı, test çerçevesi ve varlık hattıdır."
Basit bir deyişle, Truffle bir geliştirme ortamı, test çerçevesi ve varlık hattının tümü bir arada toplanmıştır. Ethereum Blockchain'e dayanmaktadır ve DApp'lerin (Dağıtılmış Uygulamalar) sorunsuz ve sorunsuz gelişimini kolaylaştırmak için tasarlanmıştır. Truffle ile Akıllı Sözleşmeleri derleyebilir ve dağıtabilir, bunları web uygulamalarına enjekte edebilir ve ayrıca DApp'ler için ön uç geliştirebilirsiniz. Bugün Truffle, Ethereum Blockchain için en yaygın kullanılan IDE'lerden biridir.

Truffle Suite üç temel unsurdan oluşur:
- Truffle – Akıllı Sözleşmelerin derlenmesini, test edilmesini ve devreye alınmasını entegre eden gerçek geliştirme ortamı.
- Ganache – Yerel olarak konuşlandırılmış bir Blockchain simülatörüdür. Ganache, gerçek test ağları kurmanıza veya uzak bir ağ kullanmanıza gerek kalmadan Blockchain ağlarını simüle edebilen ve Akıllı Sözleşmeleri canlı olarak test edebilen bir grafik kullanıcı arayüzüne sahiptir.
- Drizzle – Akıllı Sözleşmelerle sorunsuz bir şekilde bağlanabilen web uygulamaları geliştirmek için faydalı bileşenler sunan bir dizi ön uç kitaplıktır.
Okuyun: Bir Blockchain Geliştiricisi Nasıl Olunur – Yeni Başlayanlar Kılavuzu
Trüfün özellikleri nelerdir?
Truffle Etheruem'i Ethereum Blockchain için en yaygın kullanılan IDE'lerden biri yapan özellikler şunlardır:
- Akıllı Sözleşmeleri derlemek, dağıtmak ve bağlamak için yerleşik desteğe sahiptir.
- Mocha ve Chai ile otomatik sözleşme testine izin verir.
- Truffle Konsolu, derlenmiş sözleşmelerinizle sorunsuz bir şekilde çalışmanıza olanak tanır.
- Hem konsol uygulamalarını hem de web uygulamalarını destekleyen yapılandırılabilir bir yapı hattına sahiptir.
- JavaScript, CoffeeScript, SASS, ES6 ve JSX için yerleşik destekle birlikte gelir.
- Yeni sözleşmelerin ve testlerin oluşturulmasına yardımcı olan jeneratörlere sahiptir (örneğin, raylar oluşturur).
- Akıllı Sözleşmeleriniz de dahil olmak üzere JS/Kahve dosyalarını çalıştırmanıza izin veren bir komut dosyası çalıştırıcısına sahiptir.
- Geliştirme aşamasında varlıkların anında yeniden oluşturulmasına olanak tanır.
- Tercih ettiğiniz RPC istemcisi seçimini kullanarak sözleşme derlemesini ve dağıtımını sağlar.
- Hem ağ hem de paket yönetimini destekler.
Truffle Ethereum nasıl kurulur?
Node Paket Yöneticisini (npm) kullanarak Truffle Ethereum'u kurabilirsiniz. Öncelikle bilgisayarınızda NPM'yi kurmanız ve ardından Truffle'ı kurmanız gerekir . Bunu yapmak için terminali açmanız ve aşağıdakileri yazmanız gerekir:
npm install -g yer mantarı
Ancak Linux makinelerinde yukarıdaki ifadeye “sudo” önekini eklemeniz gerekebilir. Truffle çerçevesini kurduktan sonra, Ganache blok zinciri simülatörünü indirip kurduğunuzdan emin olun. Resmi Ganache web sitesini ziyaret edebilirsiniz - en popüler platformlar için yükleyiciler içerir.
Artık Truffle'ı başarıyla yüklediğinize göre, bir Truffle projesini iki şekilde başlatabilirsiniz. Çıplak bir proje oluşturmak için aşağıdaki ifadeyi yazabilirsiniz:
trüf mantarı
Ancak, mevcut kodla bir proje oluşturmak için Truffle unbox komutunu da kullanabilirsiniz. Örneğin, şöyle bir belirteç oluşturabilirsiniz:
trüf unbox metacoin
Bu komut çalıştırıldığında, bir Truffle kutusundan bir proje oluşturulacaktır. Resmi web sitesinde birçok Truffle kutusu bulabilirsiniz . Projeler oluşturmak için ortak kod ve gerekli tüm konfigürasyonları içerirler ve bunları hızlı bir şekilde başlatırlar.
Trüf Mantarı Projesinin Yapısı
Oluşturduğunuz Truffle klasörü şöyle görünecektir:
├── sözleşmeler
│ ── ConvertLib.sol
│ ├── MetaCoin.sol
│ └── Migrations.sol
├── göçler
│ ├── 1_initial_migration.js
│ ── 2_deploy_contracts.js
├── testi
│ ├── TestMetacoin.sol
│ └── metacoin.js
├── truffle-config.js
└── truffle.js
Şimdi, Truffle klasörünüzde bulunan farklı alt klasörler hakkında ayrıntılı olarak tartışacağız.
Sözleşmeler klasörü
Sözleşmeler klasörü, tüm Akıllı Sözleşmelerinizin depolandığı klasördür. Bu klasörde ayrıca Migrations.sol dosyası olarak bilinen özel bir dosya vardır. Genellikle, Truffle projenizi derlerken, tüm uyumlu dosyaları derlemek için Sözleşmeler klasörüne göz atacaktır.
Taşıma klasörü
Truffle Migration, Akıllı Sözleşmelerinizin Ethereum Blockchain'e nasıl dağıtılacağını tanımlayan bir komut dosyası anlamına gelir. Geçişler önemlidir çünkü projeniz daha karmaşık hale geldikçe dağıtımlarınızın karmaşıklığı da artar. Truffle Migrations sayesinde Akıllı Sözleşmelerin dağıtım sürecini sıralı bir şekilde otomatikleştirebilirsiniz.

Truffle klasör yapısına tekrar bakarsanız, 1_initial_migration.js adında bir dosya göreceksiniz . Bu dosya, Migrations.sol sözleşmesini Ethereum Blockchain'e dağıtır.
Göçler şunları yapmanızı sağlar:
- Dağıtımlar için maksimum gaz sınırını ayarlayın
- Dağıtımların adresinden adresini değiştirin veya değiştirin.
- İsteğe bağlı sözleşme işlevlerini çağırın.
- Kitaplıkları dağıtın
Test klasörü
Akıllı Sözleşmeler söz konusu olduğunda, test şart! Neyse ki Truffle, Solidity veya JavaScript'te testler yazmanıza izin veren yerleşik bir test çerçevesine sahiptir. Testlerinizi Solidity'de yazarsanız, Akıllı Sözleşmeleri Solidity içe aktarma yönergesi ile testlere şu şekilde içe aktarmanız gerekir:
“../contracts/MetaCoin.sol” dosyasını içe aktarın;
Ancak, JavaScript'te testler yazıyorsanız, bunları eserler.require() yardımcı işlevini kullanarak içe aktarmanız gerekir, örneğin:
var MetaCoin = eserler.require(“./MetaCoin.sol”);
Yapılandırma dosyası
truffle.js veya truffle-config.js olarak da bilinen yapılandırma dosyası, Truffle'ın aşağıdaki şeylerle birlikte Ethereum ağlarına nasıl bağlanabileceğini tanımlar:
- Ortamlar – Geth notunun adresini, network_id'yi, dağıtım için maksimum gaz limitini ve ödemek istediğiniz gaz fiyatını tanımlamanıza olanak tanır.
- Proje yapısı – Dosyaların oluşturulduğu ve depolandığı konumu değiştirebilirsiniz.
- Derleyici sürümü ve ayarları – Solc sürümünü düzeltebilir ve -O (optimizasyon) parametrelerini ayarlayabilirsiniz.
- Paket yönetimi – Truffle, EthPM (Ethereum Paket Yöneticisi) ile uyumludur. Truffle projeleriniz için EthPM bağımlılıkları ayarlayabilirsiniz.
- Proje açıklaması – Projeyi kimin geliştirdiğini belirtir, proje adını, iletişim adreslerini vb. belirtir.
Ayrıca okuyun: Yeni Başlayanlar için Blockchain Proje Fikirleri
Akıllı Sözleşmeler nasıl çalıştırılır?
Akıllı Sözleşmeleri çalıştırmanın farklı yolları:
- Akıllı Sözleşmeleri derlemek için aşağıdaki kodu çalıştırmanız gerekir:
yer mantarı derlemesi
- Geçişleri çalıştırmak için aşağıdaki kodu kullanmanız gerekir:
yer mantarı göçü
Belirli bir ortamdan bahsederek de yapabilirsiniz:
trüf göçü – ağ canlı

- Akıllı Sözleşmeleri test etmek için aşağıdaki kodu çalıştırabilirsiniz:
yer mantarı testi
Aşağıdaki kodu kullanarak belirli bir testi de çalıştırabilirsiniz:
yer mantarı testi ./path/to/FileTest.sol
Bu yazıda, size Truffle Etheruem'in temel fikrini ve nasıl çalıştığını vermeyi amaçladık. Truffle, standart geliştirme uygulamalarını Blockchain resmine getirerek DApp'lerin ve Akıllı Sözleşmelerin geliştirilmesini çok daha kolay hale getiren güçlü bir araçtır.
toparlamak
Blockchain teknolojisinde kariyerlerde bir artış var ve blockchain, teknoloji endüstrisinin yüzünü sonsuza dek muazzam bir şekilde değiştirdi. Bir blok zinciri geliştiricisi olmak ve akıllı sözleşmeler ve zincir kodları oluşturmakla ilgileniyorsanız, IIIT-B & upGrad'ın blok zinciri teknolojisinde Gelişmiş sertifika programına göz atın.
Ethereum'da Vyper nedir?
Vyper, Ethereum Sanal Dünyasını hedefleyen sözleşme odaklı, istatistiksel olarak yazılmış, Pythonic bir programlama dilidir. Dayanışma üzerinde bir iyileştirme olarak tasarlandı. Vyper'ın temel ilkeleri ve hedefleri güvenlik, dil ve derleyici basitliği ve denetlenebilirliktir. Vyper, güçlü bir şekilde yazılmış bir dildir ve bu nedenle bir veri türünün diğeri olarak kullanılmasına izin vermez. Sınır ve taşma denetimi, güçlü yazım, küçük ve anlaşılır derleyici kenarları, saf işlevler için sınırlı destek, işaretli tamsayılar ve ondalık sabit noktalı sayılar için destek ve karar verilebilirlik gibi birçok ek özellik ile birlikte gelir. Ayrıca, geliştiricilerin belirsiz programları kodlamasını imkansız kılan basit bir sözdizimine sahiptir.
Akıllı Sözleşmelerin dezavantajları nelerdir?
Akıllı sözleşmeler, çok fazla kullanımları ve daha geniş popülaritesi olmasına rağmen, birçok sınırlamadan muzdariptir. Akıllı sözleşmelerin uygulanması için siber saldırılara daha açık hale getiren iyi bir yasal düzenleme var. Herhangi bir kod hatası zaman alıcı ve düzeltilmesi pahalı olduğundan, akıllı sözleşme sürecini değiştirmek neredeyse imkansızdır. Üçüncü tarafların katılımı önemli ölçüde azaltılsa da, tamamen ortadan kaldırılamaz. Örneğin, geliştiricilerin akıllı sözleşmeler için kodlar oluşturmak için terimleri anlaması için avukatlara ihtiyacı vardır. Akıllı sözleşmeler ayrıca programcılara yüksek oranda bağımlıdır ve önemli bir dezavantaj olan hatalara maruz kalır.
Blockchain'de ağ ve paket yönetimi nedir?
Paket yöneticisi, yükleme, güncelleme, yapılandırma ve uygulama kaldırma işlemlerini otomatikleştirmenize yardımcı olur. İşletim sistemlerinde ve programlama ortamlarında kullanılırlar ve bağımlılık cehenneminden kaçınmaya yardımcı olurlar. Paket yöneticilerinin temel işlevleri arasında paketin orijinalliğini sağlama, çevrimiçi bir depodan yazılım indirme, mevcut yazılımı güncelleme vb. sayılabilir. Birçok paket yöneticisi, ikili paket, kaynak kodu tabanlı paket, hibrit sistem, meta paket yöneticisi, uygulama vardır. tabanlı yöneticiler, vb. Blockchain ile ilgili paket yöneticileri de vardır. Böyle bir yönetici, Düğüm Paketi yöneticisidir. NPM, bireylerin açık kaynak depoları aracılığıyla paylaşılan kaynakları kullanmalarına izin veren dünyanın en büyük yazılım kaydıdır.