Apa itu Truffle Suite? Fitur, Cara Memasang, Cara Menjalankan Kontrak Cerdas

Diterbitkan: 2020-03-24

Pada hari-hari awal, ketika Blockchain baru saja memulai perjalanannya ke domain teknologi arus utama, Anda harus mengembangkan Kontrak Cerdas menggunakan bahasa pemrograman Soliditas dan menerapkannya dengan memanggil fungsi geth atau solc.

Untuk membuat proses ini sedikit lebih mudah, Anda harus menulis skrip bash yang pertama-tama akan dikompilasi dan kemudian menyebarkan kontrak. Sekarang, meskipun pendekatan yang terakhir lebih baik daripada yang pertama, itu cukup sederhana, mengingat bahwa skrip bash sering kali memerlukan kurangnya standarisasi.

Kebutuhan untuk menciptakan kerangka pengembangan dan pengujian yang mulus dan optimal untuk Kontrak Cerdas Blockchain inilah yang melahirkan Truffle Etheruem.

Pelajari Kursus Rekayasa Perangkat Lunak Online dari Universitas top dunia. Dapatkan Program PG Eksekutif, Program Sertifikat Lanjutan, atau Program Magister untuk mempercepat karier Anda.

Daftar isi

Apa itu Truffle Suite?

Menurut Truffle Suite , Truffle adalah “lingkungan pengembangan kelas dunia, kerangka kerja pengujian, dan saluran aset untuk blockchain menggunakan Ethereum Virtual Machine (EVM), yang bertujuan untuk membuat hidup sebagai pengembang lebih mudah.”

Dengan kata sederhana, Truffle adalah lingkungan pengembangan, kerangka kerja pengujian, dan saluran aset yang semuanya digabung menjadi satu. Ini didasarkan pada Ethereum Blockchain dan dirancang untuk memfasilitasi pengembangan DApps (Aplikasi Terdistribusi) yang lancar dan mulus. Dengan Truffle, Anda dapat mengompilasi dan menerapkan Kontrak Cerdas, memasukkannya ke dalam aplikasi web, dan juga mengembangkan front-end untuk DApps. Saat ini, Truffle adalah salah satu IDE yang paling banyak digunakan untuk Ethereum Blockchain.

Truffle Suite terdiri dari tiga elemen inti:

  • Truffle – Lingkungan pengembangan aktual yang mengintegrasikan kompilasi, pengujian, dan penerapan Kontrak Cerdas.
  • Ganache – Ini adalah simulator Blockchain yang digunakan secara lokal. Ganache memiliki antarmuka pengguna grafis yang dapat mensimulasikan jaringan Blockchain dan Kontrak Cerdas uji langsung tanpa mengharuskan Anda mengatur jaringan uji nyata atau menggunakan jaringan jarak jauh.
  • Gerimis – Ini adalah bermacam-macam perpustakaan front-end yang menawarkan komponen berguna untuk mengembangkan aplikasi web yang dapat terhubung dengan mulus dengan Kontrak Cerdas.

Baca: Cara Menjadi Pengembang Blockchain – Panduan Pemula

Apa saja fitur Truffle?

Fitur yang menjadikan Truffle Etheruem salah satu IDE yang paling banyak digunakan untuk Ethereum Blockchain adalah:

  • Ini memiliki dukungan bawaan untuk menyusun, menyebarkan, dan menautkan Kontrak Cerdas.
  • Ini memungkinkan pengujian kontrak otomatis dengan Mocha dan Chai.
  • Konsol Truffle memungkinkan Anda untuk bekerja dengan kontrak yang dikompilasi dengan cara yang bebas repot.
  • Ini memiliki pipa build yang dapat dikonfigurasi yang mendukung aplikasi konsol dan aplikasi web.
  • Muncul dengan dukungan bawaan untuk JavaScript, CoffeeScript, SASS, ES6, dan JSX.
  • Ini memiliki generator yang membantu dalam pembuatan kontrak dan tes baru (misalnya, menghasilkan rel).
  • Ini memiliki skrip runner yang memungkinkan Anda menjalankan file JS/Coffee, termasuk Kontrak Cerdas Anda.
  • Ini memungkinkan pembangunan kembali aset secara instan selama tahap pengembangan.
  • Ini memungkinkan kompilasi dan penerapan kontrak menggunakan klien RPC pilihan Anda.
  • Ini mendukung jaringan dan manajemen paket.

Bagaimana cara menginstal Truffle Ethereum?

Anda dapat menginstal Truffle Ethereum menggunakan Node Package Manager (npm). Pertama, Anda perlu mengatur NPM di komputer Anda, lalu menginstal Truffle. Untuk melakukannya, Anda perlu membuka terminal dan ketik berikut ini:

npm install -g truffle

Namun, di mesin Linux, Anda mungkin perlu menambahkan awalan "sudo" ke pernyataan di atas. Setelah Anda menginstal kerangka Truffle, pastikan untuk mengunduh dan menginstal simulator blockchain Ganache. Anda dapat mengunjungi situs web resmi Ganache – ini berisi penginstal untuk sebagian besar platform populer.

Sekarang setelah Anda berhasil menginstal Truffle, Anda dapat memulai proyek Truffle dengan dua cara. Untuk membuat proyek kosong, Anda dapat mengetikkan pernyataan berikut:

truffle init

Namun, Anda juga dapat menggunakan perintah Truffle unbox untuk membuat proyek dengan kode yang sudah ada. Misalnya, Anda dapat membuat token seperti ini:

truffle unbox metacoin

Saat menjalankan perintah ini, sebuah proyek akan dibuat dari kotak Truffle. Anda dapat menemukan banyak kotak Truffle di situs web resmi. Mereka berisi kode boilerplate dan semua konfigurasi yang diperlukan untuk membangun proyek dan meluncurkannya dengan cepat.

Struktur Proyek Truffle

Folder Truffle yang Anda buat akan terlihat seperti ini:

kontrak

ConvertLib.sol

MetaCoin.sol

Migrations.sol

migrasi

1_initial_migration.js

2_deploy_contracts.js

tes

TestMetacoin.sol

metacoin.js

truffle-config.js

truffle.js

Sekarang, kita akan membahas secara rinci tentang sub-folder yang berbeda yang terdapat dalam folder Truffle Anda.

folder kontrak

Folder Kontrak adalah salah satu tempat semua Kontrak Cerdas Anda disimpan. Di folder ini, ada juga file khusus yang dikenal sebagai file Migrations.sol. Biasanya, ketika Truffle mengkompilasi proyek Anda, ia akan menelusuri folder Kontrak untuk mengkompilasi semua file yang kompatibel.

folder migrasi

Migrasi Truffle mengacu pada skrip yang mendefinisikan bagaimana Kontrak Cerdas Anda akan disebarkan ke Blockchain Ethereum. Migrasi sangat penting karena seiring dengan semakin kompleksnya proyek Anda, kerumitan penerapan Anda juga meningkat. Berkat Migrasi Truffle, Anda dapat mengotomatiskan proses penerapan Kontrak Cerdas secara berurutan.

Jika Anda melihat kembali struktur folder Truffle, Anda akan melihat file bernama 1_initial_migration.js . File ini menyebarkan kontrak Migrations.sol ke Ethereum Blockchain.

Migrasi memungkinkan Anda untuk:

  • Tetapkan batas gas maksimum untuk penerapan
  • Ubah atau ubah dari alamat penerapan.
  • Panggil fungsi kontrak sewenang-wenang.
  • Menyebarkan perpustakaan

folder uji

Dalam hal Kontrak Cerdas, pengujian adalah suatu keharusan! Untungnya, Truffle memiliki kerangka kerja pengujian bawaan yang memungkinkan Anda menulis pengujian dalam Soliditas atau JavaScript. Jika Anda menulis tes Anda di Solidity, Anda harus mengimpor Kontrak Cerdas ke dalam tes dengan direktif impor Solidity, seperti:

import “../contracts/MetaCoin.sol”;

Namun, jika Anda menulis pengujian dalam JavaScript, Anda harus mengimpornya menggunakan fungsi pembantu artifak.require() , seperti:

var MetaCoin = artifak.require(“./MetaCoin.sol”);

File konfigurasi

File konfigurasi, juga dikenal sebagai, truffle.js atau truffle-config.js, mendefinisikan bagaimana Truffle dapat terhubung ke jaringan Ethereum bersama dengan hal-hal berikut:

  • Lingkungan – Ini memungkinkan Anda untuk menentukan alamat geth note, network_id, batas gas maksimum untuk penerapan, dan harga gas yang bersedia Anda bayar.
  • Struktur proyek – Anda dapat mengubah lokasi pembuatan dan penyimpanan file.
  • Versi dan pengaturan kompiler – Anda dapat memperbaiki versi solc dan mengatur parameter -O (optimasi).
  • Manajemen paket – Truffle kompatibel dengan EthPM (Ethereum Package Manager). Anda dapat mengatur dependensi untuk EthPM untuk proyek Truffle Anda.
  • Deskripsi proyek - Ini menyatakan siapa yang mengembangkan proyek, menentukan nama proyek, alamat kontak, dan sebagainya.

Baca juga: Ide Proyek Blockchain untuk Pemula

Bagaimana cara menjalankan Kontrak Cerdas?

Berikut adalah berbagai cara untuk menjalankan Kontrak Cerdas –

  • Untuk mengkompilasi Kontrak Cerdas, Anda harus menjalankan kode berikut:

kompilasi truffle

  • Untuk menjalankan migrasi, Anda harus menggunakan kode berikut:

truffle bermigrasi

Anda juga dapat melakukannya dengan menyebutkan lingkungan tertentu:

truffle bermigrasi –jaringan langsung

  • Untuk menguji Kontrak Cerdas, Anda dapat menjalankan kode berikut:

tes truffle

Anda juga dapat menjalankan tes tertentu dengan menggunakan kode berikut:

tes truffle ./path/to/FileTest.sol

Dalam posting ini, kami bertujuan untuk memberi Anda ide dasar Truffle Etheruem dan bagaimana fungsinya. Truffle adalah alat yang ampuh yang membuat pengembangan DApps dan Kontrak Cerdas jauh lebih nyaman dengan membawa praktik pengembangan standar ke dalam gambar Blockchain.

Membungkus

Ada peningkatan karir dalam teknologi blockchain dan blockchain telah sangat mengubah wajah industri teknologi selamanya. Jika Anda tertarik untuk menjadi pengembang blockchain dan membangun kontrak cerdas dan kode rantai, periksa program sertifikat Lanjutan IIIT-B & upGrad dalam teknologi blockchain .

Apa itu Vyper di Ethereum?

Vyper adalah bahasa pemrograman pythonic yang berorientasi kontrak, diketik secara statistik, yang menargetkan Dunia Virtual Ethereum. Itu dirancang sebagai peningkatan dari Solidaritas. Prinsip dan tujuan utama Vyper adalah keamanan, kesederhanaan bahasa dan kompiler, dan kemampuan audit. Vyper adalah bahasa yang sangat diketik dan karenanya tidak memungkinkan satu tipe data digunakan sebagai yang lain. Muncul dengan banyak fitur tambahan seperti pemeriksaan batas dan luapan, pengetikan yang kuat, sisi kompiler kecil dan mudah dipahami, dukungan terbatas untuk fungsi murni, dukungan untuk bilangan bulat bertanda dan angka titik tetap desimal, dan decidability. Ini juga memiliki sintaks sederhana yang membuat pengembang tidak mungkin membuat kode program yang ambigu.

Apa kerugian dari Kontrak Cerdas?

Kontrak pintar, meskipun memiliki begitu banyak kegunaan dan popularitas yang lebih luas, memiliki banyak keterbatasan. Ada peraturan hukum yang kuat untuk penegakan kontrak pintar, yang membuatnya lebih rentan terhadap serangan siber. Mengubah proses kontrak pintar hampir tidak mungkin karena kesalahan kode apa pun memakan waktu dan mahal untuk diperbaiki. Meskipun keterlibatan pihak ketiga berkurang secara signifikan, namun tidak dapat dihilangkan sepenuhnya. Misalnya, pengembang membutuhkan pengacara untuk memahami persyaratan untuk membuat kode untuk kontrak pintar. Kontrak pintar juga memiliki ketergantungan tinggi pada pemrogram dan paparan bug, yang merupakan kerugian signifikan.

Apa itu manajemen jaringan dan paket di blockchain?

Manajer paket membantu Anda mengotomatiskan penginstalan, pembaruan, konfigurasi, dan penghapusan aplikasi. Mereka digunakan dalam sistem operasi dan lingkungan pemrograman dan membantu menghindari neraka ketergantungan. Fungsi utama manajer paket termasuk memastikan keaslian paket, mengunduh perangkat lunak dari repositori online, memperbarui perangkat lunak yang ada, dll. Ada banyak jenis manajer paket, paket biner, paket berbasis kode sumber, sistem hibrid, manajer meta-paket, aplikasi -manajer berbasis, dll. Ada juga manajer paket terkait blockchain. Salah satu manajer tersebut adalah manajer Paket Node. NPM adalah registri perangkat lunak terbesar di dunia yang memungkinkan individu untuk memanfaatkan sumber daya bersama melalui repositori sumber terbuka mereka.