Instal | Buku Pengguna | Dokumen Pengembang | Dokumen Peti
Foundry adalah toolkit yang sangat cepat, portabel, dan modular untuk pengembangan aplikasi Ethereum yang ditulis dalam Rust.
Pengecoran terdiri dari:
Forge : Kerangka pengujian Ethereum (seperti Truffle, Hardhat dan DappTools).
Pemeran : Pisau tentara Swiss untuk berinteraksi dengan kontrak pintar EVM, mengirim transaksi, dan mendapatkan data berantai.
Anvil : Node Ethereum lokal, mirip dengan Ganache, Jaringan Hardhat.
Pahat : REPL soliditas yang cepat, bermanfaat, dan bertele-tele.
Butuh bantuan untuk memulai dengan Foundry? Baca? Buku Pengecoran (WIP)!
Lihat panduan instalasi di buku.
Jika Anda mengalami masalah apa pun saat menginstal, lihat Mendapatkan Bantuan dan FAQ.
Saluran kompilasi yang cepat & fleksibel
Deteksi & instalasi versi kompiler Soliditas otomatis
Kompilasi & caching tambahan : Hanya file yang diubah yang dikompilasi ulang
Kompilasi paralel
Dukungan struktur direktori non-standar (misalnya repo Hardhat)
Tes ditulis dalam Soliditas (seperti di DappTools)
Pengujian fuzz cepat dengan penyusutan input & pencetakan contoh tandingan
Mode forking RPC jarak jauh yang cepat , memanfaatkan infrastruktur async Rust seperti tokio
Pencatatan debug yang fleksibel
Bergaya DappTools, menggunakan log yang dikeluarkan DsTest
Gaya hardhat, menggunakan kontrak console.sol
yang populer
Portabel (5-10MB) & mudah dipasang tanpa memerlukan Nix atau pengelola paket lainnya
CI cepat dengan tindakan Foundry GitHub.
Forge cukup cepat dalam kompilasi (memanfaatkan ethers-solc) dan pengujian.
Lihat tolok ukurnya di bawah ini. Tolok ukur lainnya dapat ditemukan di postingan pengumuman v0.2.0 dan di repositori Convex Shutdown Simulasi.
Tolok Ukur Pengujian
Proyek | Menempa | Alat Dapp | Percepatan |
---|---|---|---|
transmisi11/solmate | 2,8 detik | 6m34dtk | 140x |
laboratorium refleksi/geb | 0,4 detik | 23 detik | 57,5x |
Rari-Capital/kubah | 0,28 detik | 6,5 detik | 23x |
Catatan: Pada benchmark di atas, kompilasi selalu dilewati
Tolok Ukur Kompilasi
Kesimpulan: Kompilasi Forge secara konsisten lebih cepat dengan faktor 1,7-11,3x, bergantung pada jumlah cache yang terlibat.
Cast adalah pisau tentara swiss untuk berinteraksi dengan aplikasi Ethereum dari baris perintah.
Dokumentasi lebih lanjut dapat ditemukan di paket cast.
foundry.toml
Foundry dirancang agar sangat dapat dikonfigurasi. Anda dapat mengonfigurasi Foundry menggunakan file bernama foundry.toml
di root proyek Anda, atau direktori induk lainnya. Lihat paket konfigurasi untuk semua opsi yang tersedia.
Konfigurasi dapat diberi nama secara sewenang-wenang berdasarkan profil. Profil default diberi nama default
(lihat "Profil Default").
Anda dapat memilih profil lain menggunakan variabel lingkungan FOUNDRY_PROFILE
. Anda juga dapat mengganti bagian konfigurasi menggunakan variabel lingkungan berawalan FOUNDRY_
atau DAPP_
, seperti FOUNDRY_SRC
.
forge init
membuat file foundry.toml
dasar yang dapat diperluas.
Untuk melihat konfigurasi Anda saat ini, jalankan forge config
. Untuk melihat opsi dasar saja (sebagaimana diatur dengan forge init
), jalankan forge config --basic
. Ini dapat digunakan untuk membuat file foundry.toml
baru dengan forge config --basic > foundry.toml
.
Secara default, forge config
menampilkan profil pengecoran yang dipilih saat ini dan nilainya. Ia juga menerima argumen yang sama seperti forge build
.
Anda dapat menggunakan kembali variabel lingkungan .dapprc
dengan menjalankan source .dapprc
sebelum menggunakan alat Foundry.
Anda dapat menemukan panduan pengaturan dan konfigurasi tambahan di Buku Pengecoran:
Menyiapkan VSCode
Pelengkapan otomatis Shell
Lihat pedoman kontribusi kami.
Pertama, lihat apakah jawaban atas pertanyaan Anda dapat ditemukan di buku, atau di peti yang relevan.
Jika jawabannya tidak ada:
Bergabunglah dengan dukungan Telegram untuk mendapatkan bantuan, atau
Buka diskusi dengan pertanyaan Anda, atau
Buka masalah dengan bug tersebut
Jika Anda ingin berkontribusi, atau mengikuti diskusi kontributor, Anda dapat menggunakan telegram utama kami untuk mengobrol dengan kami tentang perkembangan Foundry!
Foundry adalah penulisan ulang kerangka pengujian DappTools. Semua ini tidak akan mungkin terjadi tanpa kerja keras tim DappHub selama bertahun-tahun.
Matthias Seitz: Menciptakan ethers-solc yang merupakan tulang punggung saluran kompilasi kami, serta kontribusi yang tak terhitung jumlahnya terhadap eter, khususnya makro abigen
.
Rohit Narurkar: Membuat manajer versi Rust Solidity svm-rs yang kami gunakan untuk mendeteksi secara otomatis dan mengelola beberapa versi Solidity.
Brock Elmore: Untuk memperluas kode curang VM dan menerapkan pelacakan panggilan terstruktur, fitur penting untuk men-debug panggilan kontrak pintar.
Semua kontributor lain pada repositori dan ruang obrolan ethers-rs & pengecoran.