Ana içeriğe geç
Change page

EVM için işlem kodları

Sayfanın son güncellenmesi: 11 Eylül 2025

Genel Bakış

Bu, wolflo/evm-opcodesopens in a new tab adresindeki EVM referans sayfasının güncellenmiş bir sürümüdür. Ayrıca Sarı Bültenopens in a new tab, Jello Bülteniopens in a new tab ve gethopens in a new tab uygulamasından da yararlanılmıştır. Bunun erişilebilir bir referans olması amaçlanmıştır, ancak özellikle net değildir. Eğer doğruluktan emin olmak ve her kenar durumundan haberdar olmak istiyorsanız, Jello Kağıdı veya bir müşteri uygulaması kullanmanız tavsiye edilir.

İnteraktif bir referans mı arıyorsunuz? evm.codesopens in a new tab sitesine göz atın.

Dinamik gaz maliyetli işlemler için gas.mdopens in a new tab dosyasına bakın.

💡 Hızlı ipucu: Tüm satırları görüntülemek için, masaüstünde yatay olarak kaydırmak üzere [shift] + scroll kullanın.

YığınİsimGazBaşlangıç YığınıSonuç YığınıBellek/DepolamaNotlar
00STOP0yürütmeyi durdur
01EKLE3a, ba + b(u)int256 toplama modülo 2**256
02MUL5a, ba * b(u)int256 çarpma modülo 2**256
03SUB3a, ba - b(u)int256 çıkarma modülo 2**256
04DIV5a, ba // buint256 bölme
05SDIV5a, ba // bint256 bölme
06MOD5a, ba % buint256 modülüs
07SMOD5a, ba % bint256 modülüs
08ADDMOD8a, b, N(a + b) % N(u)int256 toplama modülo N
09MULMOD8a, b, N(a * b) % N(u)int256 çarpma modülo N
0AEXPA1opens in a new taba, ba ** buint256 üs alma modülo 2**256
0BSIGNEXTEND5b, xSIGNEXTEND(x, b)x'i (b+1) bayttan 32 bayta işaret genişletopens in a new tab
0C-0Fgeçersiz
10LT3a, ba < buint256 küçüktür
11GT3a, ba > buint256 büyüktür
12SLT3a, ba < bint256 küçüktür
13SGT3a, ba > bint256 büyüktür
14EQ3a, ba == b(u)int256 eşitlik
15ISZERO3aa == 0(u)int256 sıfır mı
16AND3a, ba && bbitsel VE
17OR3a, b`a \\b`
18XOR3a, ba ^ bbitsel XOR
19NOT3a~abitsel DEĞİL
1ABYTE3i, x(x >> (248 - i * 8)) && 0xFF(u)int256 x'in soldan i'inci baytı
1BSHL3shift, valval << shiftsola kaydır
1CSHR3shift, valval >> shiftmantıksal sağa kaydırma
1DSAR3shift, valval >> shiftaritmetik sağa kaydırma
1E-1Fgeçersiz
20KECCAK256A2opens in a new tabost, lenkeccak256(mem[ost:ost+len-1])keccak256
21-2Fgeçersiz
30ADDRESS2.address(this)yürütülen sözleşmenin adresi
31BALANCEA5opens in a new tabaddraddr.balancebakiye, wei cinsinden
32ORIGIN2.tx.originişlemi başlatan adres
33CALLER2.msg.sendermsg göndericisinin adresi
34CALLVALUE2.msg.valuemsg değeri, wei cinsinden
35CALLDATALOAD3idxmsg.data[idx:idx+32]idx dizinindeki msg verisinden kelime oku
36CALLDATASIZE2.len(msg.data)msg verisinin uzunluğu, bayt cinsinden
37CALLDATACOPYA3opens in a new tabdstOst, ost, len.mem[dstOst:dstOst+len-1] := msg.data[ost:ost+len-1]msg verisini kopyala
38CODESIZE2.len(this.code)yürütülen sözleşmenin kodunun uzunluğu, bayt cinsinden
39CODECOPYA3opens in a new tabdstOst, ost, len.mem[dstOst:dstOst+len-1] := this.code[ost:ost+len-1]yürütülen sözleşmenin bayt kodunu kopyala
3AGASPRICE2.tx.gaspriceişlemin gaz fiyatı, gaz birimi başına wei cinsinden **opens in a new tab
3BEXTCODESIZEA5opens in a new tabaddrlen(addr.code)adresteki kodun boyutu, bayt cinsinden
3CEXTCODECOPYA4opens in a new tabaddr, dstOst, ost, len.mem[dstOst:dstOst+len-1] := addr.code[ost:ost+len-1]addr adresinden kodu kopyala
3DRETURNDATASIZE2.sizeson harici çağrıdan dönen verinin boyutu, bayt cinsinden
3ERETURNDATACOPYA3opens in a new tabdstOst, ost, len.mem[dstOst:dstOst+len-1] := returndata[ost:ost+len-1]son harici çağrıdan dönen veriyi kopyala
3FEXTCODEHASHA5opens in a new tabaddrkarmakarma = addr.exists ? keccak256(addr.code) : 0
40BLOCKHASH20blockNumblockHash(blockNum)
41COINBASE2.block.coinbasemevcut bloğu önerenin adresi
42TIMESTAMP2.block.timestampmevcut bloğun zaman damgası
43NUMBER2.block.numbermevcut bloğun numarası
44PREVRANDAO2.randomness beaconrastgelelik işaretçisi
45GASLIMIT2.block.gaslimitmevcut bloğun gaz limiti
46CHAINID2.chain_idmevcut zincir kimliğiniopens in a new tab yığına it
47SELFBALANCE5.address(this).balanceyürütülen sözleşmenin bakiyesi, wei cinsinden
48BASEFEE2.block.basefeemevcut bloğun taban ücreti
49BLOBHASH3idxtx.blob_versioned_hashes[idx]EIP-4844opens in a new tab
4ABLOBBASEFEE2.block.blobbasefeemevcut bloğun blob taban ücreti (EIP-7516opens in a new tab)
4B-4Fgeçersiz
50POP2_anon.yığının tepesinden öğeyi kaldır ve at
51MLOAD3*opens in a new tabostmem[ost:ost+32]ost ofsetindeki bellekten kelime oku
52MSTORE3*opens in a new tabost, val.mem[ost:ost+32] := valbelleğe bir kelime yaz
53MSTORE83*opens in a new tabost, val.mem[ost] := val && 0xFFbelleğe tek bir bayt yaz
54SLOADA6opens in a new tabkeystorage[key]depolamadan kelime oku
55SSTOREA7opens in a new tabkey, val.storage[key] := valdepolamaya kelime yaz
56JUMP8dst.$pc := dst pc'nin yalnızca dst geçerli bir atlama hedefiyse atandığını işaretle
57JUMPI10dst, condition.$pc := condition ? dst : $pc + 1`
58PC2.$pcprogram sayacı
59MSIZE2.len(mem)mevcut yürütme bağlamındaki bellek boyutu, bayt cinsinden
5AGAS2.gasRemaining
5BJUMPDEST1geçerli atlama hedefini işaretleörneğin itme verilerinin içinde olmayan bir atlama hedefi gibi geçerli bir atlama hedefi
5CTLOAD100keytstorage[key]geçici depolamadan kelime oku (EIP-1153opens in a new tab)
5DTSTORE100key, val.tstorage[key] := valgeçici depolamaya kelime yaz (EIP-1153opens in a new tab)
5EMCOPY3+3*words+A0opens in a new tabdstOst, ost, len.mem[dstOst] := mem[ost:ost+len]belleği bir alandan diğerine kopyala (EIP-5656opens in a new tab)
5FPUSH02.uint8değişmez değer 0'ı yığına it
60PUSH13.uint81 baytlık değeri yığına it
61PUSH23.uint162 baytlık değeri yığına it
62PUSH33.uint243 baytlık değeri yığına it
63PUSH43.uint324 baytlık değeri yığına it
64PUSH53.uint405 baytlık değeri yığına it
65PUSH63.uint486 baytlık değeri yığına it
66PUSH73.uint567 baytlık değeri yığına it
67PUSH83.uint648 baytlık değeri yığına it
68PUSH93.uint729 baytlık değeri yığına it
69PUSH103.uint8010 baytlık değeri yığına it
6APUSH113.uint8811 baytlık değeri yığına it
6BPUSH123.uint9612 baytlık değeri yığına it
6CPUSH133.uint10413 baytlık değeri yığına it
6DPUSH143.uint11214 baytlık değeri yığına it
6EPUSH153.uint12015 baytlık değeri yığına it
6FPUSH163.uint12816 baytlık değeri yığına it
70PUSH173.uint13617 baytlık değeri yığına it
71PUSH183.uint14418 baytlık değeri yığına it
72PUSH193.uint15219 baytlık değeri yığına it
73PUSH203.uint16020 baytlık değeri yığına it
74PUSH213.uint16821 baytlık değeri yığına it
75PUSH223.uint17622 baytlık değeri yığına it
76PUSH233.uint18423 baytlık değeri yığına it
77PUSH243.uint19224 baytlık değeri yığına it
78PUSH253.uint20025 baytlık değeri yığına it
79PUSH263.uint20826 baytlık değeri yığına it
7APUSH273.uint21627 baytlık değeri yığına it
7BPUSH283.uint22428 baytlık değeri yığına it
7CPUSH293.uint23229 baytlık değeri yığına it
7DPUSH303.uint24030 baytlık değeri yığına it
7EPUSH313.uint24831 baytlık değeri yığına it
7FPUSH323.uint25632 baytlık değeri yığına it
80DUP13aa, ayığındaki 1'inci değeri kopyala
81DUP23_, aa, _, ayığındaki 2'nci değeri kopyala
82DUP33_, _, aa, _, _, ayığındaki 3'üncü değeri kopyala
83DUP43_, _, _, aa, _, _, _, ayığındaki 4'üncü değeri kopyala
84DUP53..., aa, ..., ayığındaki 5'inci değeri kopyala
85DUP63..., aa, ..., ayığındaki 6'ncı değeri kopyala
86DUP73..., aa, ..., ayığındaki 7'nci değeri kopyala
87DUP83..., aa, ..., ayığındaki 8'inci değeri kopyala
88DUP93..., aa, ..., ayığındaki 9'uncu değeri kopyala
89DUP103..., aa, ..., ayığındaki 10'uncu değeri kopyala
8ADUP113..., aa, ..., ayığındaki 11'inci değeri kopyala
8BDUP123..., aa, ..., ayığındaki 12'nci değeri kopyala
8CDUP133..., aa, ..., ayığındaki 13'üncü değeri kopyala
8DDUP143..., aa, ..., ayığındaki 14'üncü değeri kopyala
8EDUP153..., aa, ..., ayığındaki 15'inci değeri kopyala
8FDUP163..., aa, ..., ayığındaki 16'ncı değeri kopyala
90SWAP13a, bb, a
91SWAP23a, _, bb, _, a
92SWAP33a, _, _, bb, _, _, a
93SWAP43a, _, _, _, bb, _, _, _, a
94SWAP53a, ..., bb, ..., a
95SWAP63a, ..., bb, ..., a
96SWAP73a, ..., bb, ..., a
97SWAP83a, ..., bb, ..., a
98SWAP93a, ..., bb, ..., a
99SWAP103a, ..., bb, ..., a
9ASWAP113a, ..., bb, ..., a
9BSWAP123a, ..., bb, ..., a
9CSWAP133a, ..., bb, ..., a
9DSWAP143a, ..., bb, ..., a
9ESWAP153a, ..., bb, ..., a
9FSWAP163a, ..., bb, ..., a
A0LOG0A8opens in a new tabost, len.LOG0(memory[ost:ost+len-1])
A1LOG1A8opens in a new tabost, len, topic0.LOG1(memory[ost:ost+len-1], topic0)
A2LOG2A8opens in a new tabost, len, topic0, topic1.LOG2(memory[ost:ost+len-1], topic0, topic1)
A3LOG3A8opens in a new tabost, len, topic0, topic1, topic2.LOG3(memory[ost:ost+len-1], topic0, topic1, topic2)
A4LOG4A8opens in a new tabost, len, topic0, topic1, topic2, topic3.LOG4(memory[ost:ost+len-1], topic0, topic1, topic2, topic3)
A5-EFgeçersiz
F0CREATEA9opens in a new tabval, ost, lenaddraddr = keccak256(rlp([address(this), this.nonce]))
F1CALLAAopens in a new tabgas, addr, val, argOst, argLen, retOst, retLenbaşarılımem[retOst:retOst+retLen-1] := returndata
F2CALLCODEAAopens in a new tabgas, addr, val, argOst, argLen, retOst, retLenbaşarılımem[retOst:retOst+retLen-1] = returndataDELEGATECALL ile aynı, ancak orijinal msg.sender ve msg.value'yu yaymaz
F3RETURN0*opens in a new tabost, len.return mem[ost:ost+len-1]
F4DELEGATECALLAAopens in a new tabgas, addr, argOst, argLen, retOst, retLenbaşarılımem[retOst:retOst+retLen-1] := returndata
F5CREATE2A9opens in a new tabval, ost, len, saltaddraddr = keccak256(0xff ++ address(this) ++ salt ++ keccak256(mem[ost:ost+len-1]))[12:]
F6-F9geçersiz
FASTATICCALLAAopens in a new tabgas, addr, argOst, argLen, retOst, retLenbaşarılımem[retOst:retOst+retLen-1] := returndata
FB-FCgeçersiz
FDREVERT0*opens in a new tabost, len.revert(mem[ost:ost+len-1])
FEINVALIDAFopens in a new tabbelirlenmiş geçersiz işlem kodu - EIP-141opens in a new tab
FFSELFDESTRUCTABopens in a new tabaddr.tüm ETH'yi addr adresine gönderir; bir sözleşmenin oluşturulduğu aynı işlemde yürütülürse sözleşmeyi yok eder

Bu makale yararlı oldu mu?