Rumah Peranti teknologi industri IT Memperkenalkan Truffle, Suite Kontrak Pintar Blockchain

Memperkenalkan Truffle, Suite Kontrak Pintar Blockchain

Feb 16, 2025 pm 12:29 PM

Introducing Truffle, a Blockchain Smart Contract Suite

Truffle: Alat yang berkuasa untuk memudahkan perkembangan kontrak pintar

Truffle adalah suite kontrak pintar blockchain yang popular yang direka untuk memudahkan dan menyeragamkan proses pembangunan, ujian dan penempatan kontrak pintar. Ia menyokong pelbagai versi SOLC Compiler, membolehkan konfigurasi khusus persekitaran, mengintegrasikan antara muka Web3.js untuk komunikasi mudah dengan kontrak pintar, dan mempunyai rangka kerja ujian terbina dalam.

pemasangan dan penyediaan truffle

Cara terbaik untuk memasang truffle ialah menggunakan Pengurus Pakej Node (NPM). Sebaik sahaja pemasangan selesai, pemaju boleh menyediakan projek demo untuk memahami bagaimana ia berfungsi. Truffle juga menyediakan persekitaran projek berstruktur dengan folder tertentu untuk kontrak, migrasi, dan ujian, serta fail konfigurasi untuk menguruskan persekitaran, struktur projek, versi pengkompil, dan tetapan.

Fungsi teras truffle

Ciri -ciri utama Truffle termasuk: ujian kontrak automatik, penempatan skrip dan rangka kerja penghijrahan, konsol interaktif untuk komunikasi kontrak langsung, dan integrasi dengan ganache untuk penempatan dan ujian kontrak. Ia juga mengintegrasikan dengan gerimis untuk membuat penulisan Dapp front-end lebih mudah dan lebih diramalkan.

Cabaran Pembangunan Kontrak Pintar Awal

Pada hari -hari awal pembangunan kontrak pintar (sekitar 2016), pemaju sering menulis kontrak pintar menggunakan editor teks kegemaran mereka dan mengerahkannya dengan memanggil Geth dan Solc secara langsung. Untuk meningkatkan keramahan pengguna, pemaju akan menulis skrip bash, menyusun pertama dan kemudian menggunakan kontrak, tetapi ini masih agak mudah, tidak mempunyai standardisasi dan mempunyai pengalaman pengguna yang lemah.

truffle dan embark muncul untuk menyelesaikan masalah ini, dan truffle menjadi tumpuan artikel ini kerana penembusan yang lebih tinggi.

Truffle bertujuan untuk menyelesaikan masalah berikut:

  • Penyusunan: menyokong pelbagai versi pengkompil SOLC pada masa yang sama dan dengan jelas menunjukkan versi yang hendak digunakan.
  • Alam Sekitar: Kontrak perlu mempunyai persekitaran pembangunan, integrasi dan pengeluaran, setiap persekitaran mempunyai alamat nod Ethereum sendiri, akaun, dll.
  • Ujian: Kontrak mesti boleh diuji. Kepentingan perisian ujian tidak boleh dilebih -lebihkan. Jadi, pastikan untuk menguji kontrak anda! Konfigurasi
  • : Persekitaran pembangunan, integrasi dan pengeluaran harus dikemas dalam fail konfigurasi supaya mereka dapat dikemukakan kepada Git dan digunakan semula oleh ahli pasukan.
  • Integrasi Web3JS: Web3.js adalah rangka kerja JavaScript yang digunakan untuk memudahkan komunikasi dari aplikasi web ke kontrak pintar. Truffle melangkah lebih jauh, membolehkan penggunaan antara muka Web3.js dalam konsol truffle untuk memanggil fungsi web dalam mod pembangunan (di luar penyemak imbas).

Struktur Projek Truffle

Struktur projek truffle biasa adalah seperti berikut:

<code>.
├── contracts
│   ├── ConvertLib.sol
│   ├── MetaCoin.sol
│   └── Migrations.sol
├── migrations
│   ├── 1_initial_migration.js
│   └── 2_deploy_contracts.js
├── test
│   ├── TestMetacoin.sol
│   └── metacoin.js
├── truffle-config.js
└── truffle.js</code>
Salin selepas log masuk
Fungsi setiap folder adalah:

  • Folder Kontrak: Penyimpanan Semua Kontrak Pintar. Fail migrasi.sol adalah fail khas untuk penghijrahan kontrak.
  • Folder Migrasi: Mengandungi skrip yang menentukan bagaimana kontrak dikerahkan ke blok block.
  • Folder ujian: mengandungi kes ujian kontrak, yang boleh ditulis menggunakan Solidity atau JavaScript.
  • truffle-config.js atau truffle.js fail: fail konfigurasi, mentakrifkan persekitaran, struktur projek, versi pengkompil dan tetapan, dll.

Migrasi dan Ujian Kontrak

Skrip Migrasi Tentukan proses penempatan kontrak ke blockchain, yang membolehkan menetapkan gas maksimum, mengubah alamat penghantaran, perpustakaan penempatan, dan memanggil sebarang fungsi kontrak. Migrasi awal (1_initial_migration.js) menyebarkan kontrak migrasi.sol ke blockchain.

rangka kerja ujian terbina dalam truffle, yang membolehkan pemaju menulis kes solidity atau JavaScript.

fail konfigurasi (truffle.js/truffle-config.js)

Fail konfigurasi mentakrifkan yang berikut:

  • Alam Sekitar: Pembangunan, Rangkaian Ujian, Persekitaran Pengeluaran. Alamat Geth Node, ID Rangkaian, harga gas dan gas maksimum untuk penggunaan boleh ditakrifkan.
  • Struktur Projek: Anda boleh menukar lokasi pembinaan dan penyimpanan fail, tetapi pengubahsuaian tidak disyorkan.
  • versi dan tetapan pengkompil: Tetapkan versi SOLC dan parameter pengoptimuman.
  • Pengurusan Pakej: boleh digunakan dengan ETHPM (Pengurus Pakej Ethereum) untuk menetapkan ketergantungan ETHPM.
  • Penerangan Projek: Pencipta Projek, Nama Projek, Alamat Kenalan, dll.
  • had: contohnya, gplv3.

RUN CODE

  • Kontrak kompilasi: truffle compile
  • Jalankan penghijrahan: truffle migrate atau truffle migrate --network live (persekitaran yang ditentukan)
  • ujian lari: truffle test atau truffle test ./path/to/FileTest.sol (tentukan fail ujian)

Ringkasan

Truffle adalah alat yang sangat mudah yang menjadikan pembangunan lebih mudah dalam ekosistem baru ini. Ia bertujuan untuk memperkenalkan piawaian dan amalan umum dari kawasan pembangunan lain ke dalam bidang eksperimen blockchain.

FAQ

Artikel ini telah memperkenalkan fungsi teras dan kaedah penggunaan truffle secara terperinci, dan termasuk jawapan kepada soalan biasa. Untuk memahami Truffle lebih mendalam, pembaca dinasihatkan untuk mengamalkan projek sebenar.

Atas ialah kandungan terperinci Memperkenalkan Truffle, Suite Kontrak Pintar Blockchain. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

<🎜>: Bubble Gum Simulator Infinity - Cara Mendapatkan dan Menggunakan Kekunci Diraja
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Sistem Fusion, dijelaskan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Cara Membuka Kunci Cangkuk Bergelut
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial Java
1672
14
Tutorial PHP
1276
29
Tutorial C#
1256
24
CNCF Arm64 Pilot: Impak dan Wawasan CNCF Arm64 Pilot: Impak dan Wawasan Apr 15, 2025 am 08:27 AM

Program perintis ini, kerjasama antara CNCF (Yayasan Pengkomputeran Native Cloud), pengkomputeran ampere, equinix metal, dan digerakkan, menyelaraskan ARM64 CI/CD untuk projek GitHub CNCF. Inisiatif ini menangani kebimbangan keselamatan dan prestasi lim

Paip pemprosesan imej tanpa pelayan dengan AWS ECS dan Lambda Paip pemprosesan imej tanpa pelayan dengan AWS ECS dan Lambda Apr 18, 2025 am 08:28 AM

Tutorial ini membimbing anda melalui membina saluran paip pemprosesan imej tanpa pelayan menggunakan perkhidmatan AWS. Kami akan membuat frontend next.js yang digunakan pada kluster ECS Fargate, berinteraksi dengan Gateway API, Fungsi Lambda, Bucket S3, dan DynamoDB. Th

Surat berita pemaju 21 teratas untuk melanggan pada tahun 2025 Surat berita pemaju 21 teratas untuk melanggan pada tahun 2025 Apr 24, 2025 am 08:28 AM

Tinggal maklumat mengenai trend teknologi terkini dengan surat berita pemaju teratas ini! Senarai ini menawarkan sesuatu untuk semua orang, dari peminat AI ke pemaju backend dan frontend yang berpengalaman. Pilih kegemaran anda dan menjimatkan masa mencari rel

CNCF mencetuskan penemuan pariti platform untuk ARM64 dan x86 CNCF mencetuskan penemuan pariti platform untuk ARM64 dan x86 May 11, 2025 am 08:27 AM

Teka -teki dan penyelesaian CI/CD untuk perisian sumber terbuka dalam seni bina ARM64 Menggunakan perisian sumber terbuka pada seni bina ARM64 memerlukan persekitaran CI/CD yang kuat. Walau bagaimanapun, terdapat perbezaan antara tahap sokongan ARM64 dan seni bina pemproses tradisional x86, yang sering merugikan. Pemaju komponen infrastruktur untuk pelbagai seni bina mempunyai jangkaan tertentu untuk persekitaran kerja mereka: Konsistensi: Alat dan kaedah yang digunakan di seluruh platform adalah konsisten, mengelakkan keperluan untuk mengubah proses pembangunan disebabkan penggunaan platform yang kurang popular. Prestasi: Platform dan mekanisme sokongan mempunyai prestasi yang baik untuk memastikan senario penempatan tidak terjejas oleh kelajuan yang tidak mencukupi apabila menyokong pelbagai platform. Liputan Ujian: Kecekapan, Pematuhan dan

Faedah perisian telekomunikasi tersuai Faedah perisian telekomunikasi tersuai May 11, 2025 am 08:28 AM

Pembangunan perisian telekom yang disesuaikan tidak dapat diragukan lagi merupakan pelaburan yang besar. Walau bagaimanapun, dalam jangka masa panjang, anda mungkin menyedari bahawa projek sedemikian mungkin lebih kos efektif kerana ia dapat meningkatkan produktiviti anda seperti penyelesaian siap sedia di pasaran. Memahami kelebihan yang paling penting untuk membina sistem telekomunikasi yang disesuaikan. Dapatkan ciri tepat yang anda perlukan Terdapat dua masalah yang berpotensi dengan perisian telekomunikasi di luar rak yang boleh anda beli. Sesetengah kekurangan ciri berguna yang dapat meningkatkan produktiviti anda dengan ketara. Kadang -kadang anda dapat meningkatkannya dengan beberapa integrasi luaran, tetapi itu tidak selalu cukup untuk menjadikannya hebat. Perisian lain mempunyai terlalu banyak fungsi dan terlalu rumit untuk digunakan. Anda mungkin tidak akan menggunakan beberapa perkara ini (tidak pernah!). Sebilangan besar ciri biasanya menambah harga. Berdasarkan keperluan anda

See all articles