Berikut cara kerja dasar operasi Solidity di balik layar. Ambil contoh ekspresi sederhana seperti uint c = a + b — tampak sederhana saat Anda menulisnya, tetapi compiler menerjemahkannya menjadi sesuatu yang cukup berbeda di tingkat bytecode.
Setelah dikompilasi, Anda mendapatkan opcode yang kira-kira seperti ini: PUSH1 a PUSH1 b ADD
Itulah suara EVM. Setiap instruksi dieksekusi satu per satu. Klien memproses setiap opcode secara berurutan, mendorong nilai ke stack, melakukan operasi, dan beralih ke instruksi berikutnya. Tidak ada jalan pintas, tidak ada sihir — hanya rangkaian langkah yang deterministik yang mengubah kode tingkat tinggi Anda menjadi operasi yang dapat dieksekusi mesin.
Inilah mengapa optimisasi gas sangat penting dalam pengembangan blockchain. Setiap opcode memiliki biaya, dan memahami bytecode apa yang dihasilkan dari Solidity Anda adalah perbedaan antara kontrak pintar yang efisien dan yang boros.
Lihat Asli
Halaman ini mungkin berisi konten pihak ketiga, yang disediakan untuk tujuan informasi saja (bukan pernyataan/jaminan) dan tidak boleh dianggap sebagai dukungan terhadap pandangannya oleh Gate, atau sebagai nasihat keuangan atau profesional. Lihat Penafian untuk detailnya.
10 Suka
Hadiah
10
5
Posting ulang
Bagikan
Komentar
0/400
SelfSovereignSteve
· 4jam yang lalu
Baru sadar pertama kali bahwa kode yang kita tulis ternyata sangat sederhana dan kasar, langsung saja stack mendorong dan menarik secara gila-gilaan
gas ini benar-benar senjata rahasia, perbedaan kontrak yang memahami bytecode dan yang tidak memahami bytecode sangat besar
Eh, kenapa masih ada yang menulis hal-hal yang boros gas...
Menulis Solidity memang menyenangkan, tapi setelah dikompilasi, tampilan kode itu bikin pusing
Inilah mengapa operasi tingkat rendah assembly terkadang malah bisa menghemat banyak uang
Lihat AsliBalas0
SchrödingersNode
· 4jam yang lalu
Penjumlahan yang tampaknya sederhana, setelah dikompilasi menjadi sekumpulan opcode ini... Setiap kali harus mengingatkan diri sendiri untuk tidak berasumsi sendiri.
Lihat AsliBalas0
BearMarketBarber
· 4jam yang lalu
Jujur saja, pengembang solidity yang tidak mengerti bytecode hanya membayar pajak kecerdasan.
Lihat AsliBalas0
RetiredMiner
· 4jam yang lalu
Astaga, menulis a+b ternyata begitu rumit di balik layar, makanya biaya gas jadi sangat menyakitkan
Lihat AsliBalas0
AirdropSkeptic
· 5jam yang lalu
Begitulah, di balik satu baris kode yang terlihat sederhana, semua opcode yang berjalan, tidak heran biaya gas begitu boros...
Berikut cara kerja dasar operasi Solidity di balik layar. Ambil contoh ekspresi sederhana seperti uint c = a + b — tampak sederhana saat Anda menulisnya, tetapi compiler menerjemahkannya menjadi sesuatu yang cukup berbeda di tingkat bytecode.
Setelah dikompilasi, Anda mendapatkan opcode yang kira-kira seperti ini:
PUSH1 a
PUSH1 b
ADD
Itulah suara EVM. Setiap instruksi dieksekusi satu per satu. Klien memproses setiap opcode secara berurutan, mendorong nilai ke stack, melakukan operasi, dan beralih ke instruksi berikutnya. Tidak ada jalan pintas, tidak ada sihir — hanya rangkaian langkah yang deterministik yang mengubah kode tingkat tinggi Anda menjadi operasi yang dapat dieksekusi mesin.
Inilah mengapa optimisasi gas sangat penting dalam pengembangan blockchain. Setiap opcode memiliki biaya, dan memahami bytecode apa yang dihasilkan dari Solidity Anda adalah perbedaan antara kontrak pintar yang efisien dan yang boros.