Apa itu Truffle Suite?
Menurut Truffle Suite , Truffle adalah “lingkungan pengembangan kelas dunia, framework pengujian, dan pipeline aset untuk blockchain menggunakan Ethereum Virtual Machine (EVM), yang bertujuan untuk membuat hidup sebagai developer lebih mudah.”
Dengan kata sederhana, Truffle adalah lingkungan pengembangan, framework pengujian, dan pipeline aset yang semuanya digabungkan menjadi satu. Ini didasarkan pada Ethereum Blockchain dan dirancang untuk memfasilitasi pengembangan DApps (Aplikasi Terdistribusi) yang lancar dan mulus. Dengan Truffle, Anda dapat menyusun 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 diterapkan secara lokal. Ganache menampilkan antarmuka pengguna grafis yang dapat mensimulasikan jaringan Blockchain dan menguji langsung Kontrak Cerdas tanpa mengharuskan Anda menyiapkan jaringan uji nyata atau menggunakan jaringan jarak jauh.
- Gerimis – Ini adalah bermacam-macam perpustakaan ujung depan yang menawarkan komponen yang berguna untuk mengembangkan aplikasi web yang dapat terhubung secara mulus dengan Kontrak Cerdas.
Apa sajakah fitur Truffle?
Fitur-fitur yang menjadikan Truffle Etheruem salah satu IDE yang paling banyak digunakan untuk Ethereum Blockchain adalah:
- Ini memiliki dukungan built-in untuk menyusun, menyebarkan dan menghubungkan Kontrak Cerdas.
- Ini memungkinkan pengujian kontrak otomatis dengan Mocha dan Chai.
- Konsol Truffle memungkinkan Anda bekerja dengan kontrak yang telah dikompilasi dengan cara yang tidak merepotkan.
- Ini memiliki pipeline build yang dapat dikonfigurasi yang mendukung aplikasi konsol dan aplikasi web.
- Muncul dengan dukungan built-in untuk JavaScript, CoffeeScript, SASS, ES6, dan JSX.
- Ini memiliki generator yang membantu dalam pembuatan kontrak dan pengujian baru (misalnya, menghasilkan rel).
- Ini memiliki pelari skrip yang memungkinkan Anda menjalankan file JS / Coffee, termasuk Kontrak Cerdas Anda.
- Ini memungkinkan untuk membangun kembali aset secara instan selama tahap pengembangan.
- Ini memungkinkan kompilasi kontrak dan penerapan menggunakan pilihan 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 menyiapkan NPM di komputer Anda, lalu menginstal Truffle. Untuk melakukannya, Anda perlu membuka terminal dan mengetik yang berikut ini:
npm install -g truffle
Namun, di mesin Linux, Anda mungkin perlu menambahkan awalan “sudo” ke pernyataan di atas. Setelah Anda menginstal framework Truffle, pastikan untuk mendownload dan menginstal simulator blockchain Ganache. Anda dapat mengunjungi situs web resmi Ganache – ini berisi penginstal untuk platform paling populer.
Sekarang setelah Anda berhasil menginstal Truffle, Anda dapat memulai proyek Truffle dengan dua cara. Untuk membuat proyek telanjang, 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 buka kotak metacoin
Saat menjalankan perintah ini, sebuah proyek akan dibuat dari kotak Truffle. Anda dapat menemukan banyak kotak Truffle di situs resminya. Mereka berisi kode boilerplate dan semua konfigurasi yang diperlukan untuk membangun proyek dan meluncurkannya dengan cepat.
Folder kontrak
Folder Kontrak adalah salah satu tempat semua Kontrak Cerdas Anda disimpan. Di folder ini, ada juga file khusus yang disebut sebagai file Migrations.sol. Biasanya, ketika Truffle mengkompilasi proyek Anda, itu akan menelusuri folder Kontrak untuk mengkompilasi semua file yang kompatibel.
Folder migrasi
Migrasi Truffle mengacu pada skrip yang menentukan bagaimana Kontrak Cerdas Anda akan diterapkan ke Ethereum Blockchain . 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 arbitrer.
- Menerapkan perpustakaan
Folder uji
Ketika datang ke Kontrak Cerdas, pengujian adalah suatu keharusan! Untungnya, Truffle memiliki kerangka kerja pengujian bawaan yang memungkinkan Anda menulis tes dalam Solidity atau JavaScript. Jika Anda menulis tes Anda dalam Solidity, Anda harus mengimpor Kontrak Cerdas ke dalam tes dengan direktif impor Soliditas, seperti:
import “../contracts/MetaCoin.sol”;
Namun, jika Anda menulis pengujian dalam JavaScript, Anda harus mengimpornya menggunakan fungsi helper artifacts.require () , seperti:
var MetaCoin = artifacts.require (“./ MetaCoin.sol”);
File konfigurasi
File konfigurasi, juga dikenal sebagai, truffle.js atau truffle-config.js, menentukan bagaimana Truffle dapat terhubung ke jaringan Ethereum bersama dengan hal-hal berikut:
- Lingkungan – Ini memungkinkan Anda untuk menentukan alamat catatan geth, network_id, batas gas maksimum untuk penerapan, dan harga gas yang bersedia Anda bayar.
- Struktur proyek – Anda dapat mengubah lokasi tempat file dibuat dan disimpan.
- 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.