Di Remix, terapkan kontrak atau jalankan transaksi.
Buka daftar transaksi (di tab Deploy & Run
) dan klik ikon “bug” di sebelah transaksi yang Anda minati. Ini akan meluncurkan Debugger.
Setelah Anda berada di dalam debugger:
Navigasi: Gunakan kontrol langkah untuk menavigasi setiap operasi transaksi Anda. Anda dapat melangkahi, masuk, atau keluar dari fungsi dan melompat ke langkah tertentu.
Panel Detail: Panel ini akan menampilkan detail opcode, langkah eksekusi saat ini, dan detail relevan lainnya.
Soliditas Lokal: Menampilkan variabel Soliditas lokal dan nilainya saat ini.
Negara: Menampilkan perubahan status kontrak. Ini adalah tempat yang bagus untuk mengidentifikasi perubahan tak terduga, yang dapat menyebabkan biaya bahan bakar lebih tinggi.
Call Stack: Mengilustrasikan tumpukan panggilan fungsi saat ini. Berguna untuk memahami konteks eksekusi saat ini.
Perubahan Penyimpanan: Menyoroti perubahan pada penyimpanan selama eksekusi. Berguna untuk mengidentifikasi area potensi optimalisasi gas.
Debugger tidak hanya untuk memperbaiki bug; ini juga merupakan alat yang sangat baik untuk membuat profil penggunaan gas kontrak Anda. Inilah cara Anda mendapatkan hasil maksimal:
Identifikasi Langkah Gas Tinggi: Saat Anda menelusuri kode Anda, pantau penggunaan gas di setiap langkah. Jumlah gas yang tinggi dapat menjadi target optimalisasi.
Pantau Tindakan Penyimpanan: Perubahan penyimpanan yang berlebihan, terutama yang tidak delete
, dapat menghabiskan banyak bahan bakar.
Panggilan Fungsi: Panggilan fungsi eksternal, terutama ke kontrak lain, bisa memakan biaya yang mahal. Pastikan itu diperlukan.
Mari gunakan Remix Debugger dengan kontrak sederhana:
Soliditas
pragma soliditas ^0.8.9;
kontrak GasProfiler {
uint256 hitungan publik;
fungsi setCount(uint256 _count) public {
untuk (uint256 i = 0; i < _count; i++) {
count += i;
}
}
}
Menyebarkan dan berinteraksi dengan kontrak di Remix.
Gunakan debugger pada fungsi setCount
dan identifikasi operasi intensif gas. Di sini, operasi loop akan menghabiskan lebih banyak bahan bakar seiring bertambahnya _count
.
Memahami dan memanfaatkan Remix Debugger semaksimal mungkin adalah keterampilan yang tidak hanya akan membantu dalam mendiagnosis masalah tetapi juga menyempurnakan kontrak Anda agar hemat bahan bakar. Dengan menelusuri kode Anda, Anda dapat melihat inefisiensi yang mungkin tidak terlihat pada tingkat yang lebih tinggi.
Di Remix, terapkan kontrak atau jalankan transaksi.
Buka daftar transaksi (di tab Deploy & Run
) dan klik ikon “bug” di sebelah transaksi yang Anda minati. Ini akan meluncurkan Debugger.
Setelah Anda berada di dalam debugger:
Navigasi: Gunakan kontrol langkah untuk menavigasi setiap operasi transaksi Anda. Anda dapat melangkahi, masuk, atau keluar dari fungsi dan melompat ke langkah tertentu.
Panel Detail: Panel ini akan menampilkan detail opcode, langkah eksekusi saat ini, dan detail relevan lainnya.
Soliditas Lokal: Menampilkan variabel Soliditas lokal dan nilainya saat ini.
Negara: Menampilkan perubahan status kontrak. Ini adalah tempat yang bagus untuk mengidentifikasi perubahan tak terduga, yang dapat menyebabkan biaya bahan bakar lebih tinggi.
Call Stack: Mengilustrasikan tumpukan panggilan fungsi saat ini. Berguna untuk memahami konteks eksekusi saat ini.
Perubahan Penyimpanan: Menyoroti perubahan pada penyimpanan selama eksekusi. Berguna untuk mengidentifikasi area potensi optimalisasi gas.
Debugger tidak hanya untuk memperbaiki bug; ini juga merupakan alat yang sangat baik untuk membuat profil penggunaan gas kontrak Anda. Inilah cara Anda mendapatkan hasil maksimal:
Identifikasi Langkah Gas Tinggi: Saat Anda menelusuri kode Anda, pantau penggunaan gas di setiap langkah. Jumlah gas yang tinggi dapat menjadi target optimalisasi.
Pantau Tindakan Penyimpanan: Perubahan penyimpanan yang berlebihan, terutama yang tidak delete
, dapat menghabiskan banyak bahan bakar.
Panggilan Fungsi: Panggilan fungsi eksternal, terutama ke kontrak lain, bisa memakan biaya yang mahal. Pastikan itu diperlukan.
Mari gunakan Remix Debugger dengan kontrak sederhana:
Soliditas
pragma soliditas ^0.8.9;
kontrak GasProfiler {
uint256 hitungan publik;
fungsi setCount(uint256 _count) public {
untuk (uint256 i = 0; i < _count; i++) {
count += i;
}
}
}
Menyebarkan dan berinteraksi dengan kontrak di Remix.
Gunakan debugger pada fungsi setCount
dan identifikasi operasi intensif gas. Di sini, operasi loop akan menghabiskan lebih banyak bahan bakar seiring bertambahnya _count
.
Memahami dan memanfaatkan Remix Debugger semaksimal mungkin adalah keterampilan yang tidak hanya akan membantu dalam mendiagnosis masalah tetapi juga menyempurnakan kontrak Anda agar hemat bahan bakar. Dengan menelusuri kode Anda, Anda dapat melihat inefisiensi yang mungkin tidak terlihat pada tingkat yang lebih tinggi.