முக்கிய உள்ளடக்கத்திற்குச் செல்லவும்
Change page

EVM-க்கான ஆப்-கோடுகள்

பக்கம் கடைசியாகப் புதுப்பிக்கப்பட்டது: 11 செப்டம்பர், 2025

மேலோட்டம்

இது wolflo/evm-opcodes (opens in a new tab) இல் உள்ள EVM குறிப்புப் பக்கத்தின் புதுப்பிக்கப்பட்ட பதிப்பாகும். மேலும் இது Yellow Paper (opens in a new tab), Jello Paper (opens in a new tab) மற்றும் geth (opens in a new tab) செயலாக்கம் ஆகியவற்றிலிருந்தும் எடுக்கப்பட்டது. இது எளிதில் அணுகக்கூடிய ஒரு குறிப்பாக இருக்க வேண்டும் என்ற நோக்கத்தில் உருவாக்கப்பட்டது, ஆனால் இது மிகவும் துல்லியமானது என்று கூற முடியாது. நீங்கள் இதன் சரியான தன்மையை உறுதிப்படுத்தவும், ஒவ்வொரு விளிம்பு நிலையையும் (edge case) பற்றி அறியவும் விரும்பினால், Jello Paper அல்லது ஒரு கிளையண்ட் செயலாக்கத்தைப் பயன்படுத்துவது நல்லது.

ஊடாடும் (interactive) குறிப்பைத் தேடுகிறீர்களா? evm.codes (opens in a new tab) ஐப் பார்க்கவும்.

மாறும் எரிவாயு (gas) செலவுகளைக் கொண்ட செயல்பாடுகளுக்கு, gas.md (opens in a new tab) ஐப் பார்க்கவும்.

💡 விரைவான குறிப்பு: முழு வரிகளையும் காண, டெஸ்க்டாப்பில் கிடைமட்டமாக ஸ்க்ரோல் செய்ய [shift] + scroll ஐப் பயன்படுத்தவும்.

அடுக்குபெயர்எரிவாயுஆரம்ப அடுக்குமுடிவு அடுக்குநினைவகம் / சேமிப்பகம்குறிப்புகள்
00STOP0செயலாக்கத்தை நிறுத்து
01ADD3a, ba + b(u)int256 கூட்டல் மாடுலோ 2**256
02MUL5a, ba * b(u)int256 பெருக்கல் மாடுலோ 2**256
03SUB3a, ba - b(u)int256 கழித்தல் மாடுலோ 2**256
04DIV5a, ba // buint256 வகுத்தல்
05SDIV5a, ba // bint256 வகுத்தல்
06MOD5a, ba % buint256 மாடுலஸ்
07SMOD5a, ba % bint256 மாடுலஸ்
08ADDMOD8a, b, N(a + b) % N(u)int256 கூட்டல் மாடுலோ N
09MULMOD8a, b, N(a * b) % N(u)int256 பெருக்கல் மாடுலோ N
0AEXPA1 (opens in a new tab)a, ba ** buint256 அடுக்கு மாடுலோ 2**256
0BSIGNEXTEND5b, xSIGNEXTEND(x, b)x ஐ (b+1) பைட்டுகளிலிருந்து 32 பைட்டுகளுக்கு குறியீடு நீட்டிப்பு (opens in a new tab) செய்
0C-0Fதவறானது
10LT3a, ba < buint256 விட குறைவானது
11GT3a, ba > buint256 விட பெரியது
12SLT3a, ba < bint256 விட குறைவானது
13SGT3a, ba > bint256 விட பெரியது
14EQ3a, ba == b(u)int256 சமத்துவம்
15ISZERO3aa == 0(u)int256 பூஜ்ஜியமா
16AND3a, ba && bபிட்வைஸ் AND
17OR3a, ba || bபிட்வைஸ் OR
18XOR3a, ba ^ bபிட்வைஸ் XOR
19NOT3a~aபிட்வைஸ் NOT
1ABYTE3i, x(x >> (248 - i * 8)) && 0xFFஇடமிருந்து (u)int256 x இன் i ஆவது பைட்
1BSHL3shift, valval << shiftஇடதுபுறம் நகர்த்து
1CSHR3shift, valval >> shiftதர்க்கரீதியாக வலதுபுறம் நகர்த்து
1DSAR3shift, valval >> shiftஎண்கணிதரீதியாக வலதுபுறம் நகர்த்து
1E-1Fதவறானது
20KECCAK256A2 (opens in a new tab)ost, lenkeccak256(mem[ost:ost+len-1])keccak256
21-2Fதவறானது
30ADDRESS2.address(this)செயல்படுத்தப்படும் ஒப்பந்தத்தின் முகவரி
31BALANCEA5 (opens in a new tab)addraddr.balancewei இல் இருப்பு
32ORIGIN2.tx.originபரிவர்த்தனையைத் தொடங்கிய முகவரி
33CALLER2.msg.senderசெய்தி அனுப்புநரின் முகவரி
34CALLVALUE2.msg.valuewei இல் செய்தி மதிப்பு
35CALLDATALOAD3idxmsg.data[idx:idx+32]idx குறியீட்டில் உள்ள செய்தி தரவிலிருந்து சொல்லைப் படி
36CALLDATASIZE2.len(msg.data)பைட்டுகளில் செய்தி தரவின் நீளம்
37CALLDATACOPYA3 (opens in a new tab)dstOst, ost, len.mem[dstOst:dstOst+len-1] := msg.data[ost:ost+len-1]செய்தி தரவை நகலெடு
38CODESIZE2.len(this.code)பைட்டுகளில் செயல்படுத்தப்படும் ஒப்பந்தத்தின் குறியீட்டு நீளம்
39CODECOPYA3 (opens in a new tab)dstOst, ost, len.mem[dstOst:dstOst+len-1] := this.code[ost:ost+len-1]
3AGASPRICE2.tx.gaspriceஒரு யூனிட் எரிவாயுவிற்கு wei இல் பரிவர்த்தனையின் எரிவாயு விலை ** (opens in a new tab)
3BEXTCODESIZEA5 (opens in a new tab)addrlen(addr.code)பைட்டுகளில் addr இல் உள்ள குறியீட்டின் அளவு
3CEXTCODECOPYA4 (opens in a new tab)addr, dstOst, ost, len.mem[dstOst:dstOst+len-1] := addr.code[ost:ost+len-1]addr இலிருந்து குறியீட்டை நகலெடு
3DRETURNDATASIZE2.sizeபைட்டுகளில் கடைசி வெளிப்புற அழைப்பிலிருந்து திரும்பிய தரவின் அளவு
3ERETURNDATACOPYA3 (opens in a new tab)dstOst, ost, len.mem[dstOst:dstOst+len-1] := returndata[ost:ost+len-1]கடைசி வெளிப்புற அழைப்பிலிருந்து திரும்பிய தரவை நகலெடு
3FEXTCODEHASHA5 (opens in a new tab)addrhashhash = addr.exists ? keccak256(addr.code) : 0
40BLOCKHASH20blockNumblockHash(blockNum)
41COINBASE2.block.coinbaseதற்போதைய தொகுதியை முன்மொழிந்தவரின் முகவரி
42TIMESTAMP2.block.timestampதற்போதைய தொகுதியின் நேரமுத்திரை
43NUMBER2.block.numberதற்போதைய தொகுதியின் எண்
44PREVRANDAO2.randomness beaconசீரற்ற தன்மை பீக்கான்
45GASLIMIT2.block.gaslimitதற்போதைய தொகுதியின் எரிவாயு வரம்பு
46CHAINID2.chain_idதற்போதைய சங்கிலி ஐடியை (opens in a new tab) அடுக்கில் தள்ளு
47SELFBALANCE5.address(this).balancewei இல் செயல்படுத்தப்படும் ஒப்பந்தத்தின் இருப்பு
48BASEFEE2.block.basefeeதற்போதைய தொகுதியின் அடிப்படை கட்டணம்
49BLOBHASH3idxtx.blob_versioned_hashes[idx]EIP-4844 (opens in a new tab)
4ABLOBBASEFEE2.block.blobbasefeeதற்போதைய தொகுதியின் ப்ளாப் அடிப்படை கட்டணம் (EIP-7516 (opens in a new tab))
4B-4Fதவறானது
50POP2_anon.அடுக்கின் மேலிருந்து உருப்படியை அகற்றி அதை நிராகரி
51MLOAD3* (opens in a new tab)ostmem[ost:ost+32]ost ஆஃப்செட்டில் நினைவகத்திலிருந்து சொல்லைப் படி
52MSTORE3* (opens in a new tab)ost, val.mem[ost:ost+32] := valநினைவகத்தில் ஒரு சொல்லை எழுது
53MSTORE83* (opens in a new tab)ost, val.mem[ost] := val && 0xFFநினைவகத்தில் ஒரு பைட்டை எழுது
54SLOADA6 (opens in a new tab)keystorage[key]சேமிப்பகத்திலிருந்து சொல்லைப் படி
55SSTOREA7 (opens in a new tab)key, val.storage[key] := valசேமிப்பகத்தில் சொல்லை எழுது
56JUMP8dst.$pc := dst என்பது dst ஒரு செல்லுபடியாகும் jumpdest ஆக இருந்தால் மட்டுமே pc ஒதுக்கப்படும் என்பதைக் குறிக்கிறது
57JUMPI10dst, condition.$pc := condition ? dst : $pc + 1
58PC2.$pcநிரல் கவுண்டர்
59MSIZE2.len(mem)பைட்டுகளில் தற்போதைய செயலாக்க சூழலில் நினைவகத்தின் அளவு
5AGAS2.gasRemaining
5BJUMPDEST1செல்லுபடியாகும் ஜம்ப் இலக்கைக் குறிஒரு செல்லுபடியாகும் ஜம்ப் இலக்கு, எடுத்துக்காட்டாக புஷ் தரவுக்குள் இல்லாத ஜம்ப் இலக்கு
5CTLOAD100keytstorage[key]மாறுநிலை சேமிப்பகத்திலிருந்து சொல்லைப் படி (EIP-1153 (opens in a new tab))
5DTSTORE100key, val.tstorage[key] := valமாறுநிலை சேமிப்பகத்தில் சொல்லை எழுது (EIP-1153 (opens in a new tab))
5EMCOPY3+3*words+A0 (opens in a new tab)dstOst, ost, len.mem[dstOst] := mem[ost:ost+len]நினைவகத்தை ஒரு பகுதியிலிருந்து மற்றொரு பகுதிக்கு நகலெடு (EIP-5656 (opens in a new tab))
5FPUSH02.uint8மாறிலி மதிப்பு 0 ஐ அடுக்கில் தள்ளு
60PUSH13.uint81-பைட் மதிப்பை அடுக்கில் தள்ளு
61PUSH23.uint162-பைட் மதிப்பை அடுக்கில் தள்ளு
62PUSH33.uint243-பைட் மதிப்பை அடுக்கில் தள்ளு
63PUSH43.uint324-பைட் மதிப்பை அடுக்கில் தள்ளு
64PUSH53.uint405-பைட் மதிப்பை அடுக்கில் தள்ளு
65PUSH63.uint486-பைட் மதிப்பை அடுக்கில் தள்ளு
66PUSH73.uint567-பைட் மதிப்பை அடுக்கில் தள்ளு
67PUSH83.uint648-பைட் மதிப்பை அடுக்கில் தள்ளு
68PUSH93.uint729-பைட் மதிப்பை அடுக்கில் தள்ளு
69PUSH103.uint8010-பைட் மதிப்பை அடுக்கில் தள்ளு
6APUSH113.uint8811-பைட் மதிப்பை அடுக்கில் தள்ளு
6BPUSH123.uint9612-பைட் மதிப்பை அடுக்கில் தள்ளு
6CPUSH133.uint10413-பைட் மதிப்பை அடுக்கில் தள்ளு
6DPUSH143.uint11214-பைட் மதிப்பை அடுக்கில் தள்ளு
6EPUSH153.uint12015-பைட் மதிப்பை அடுக்கில் தள்ளு
6FPUSH163.uint12816-பைட் மதிப்பை அடுக்கில் தள்ளு
70PUSH173.uint13617-பைட் மதிப்பை அடுக்கில் தள்ளு
71PUSH183.uint14418-பைட் மதிப்பை அடுக்கில் தள்ளு
72PUSH193.uint15219-பைட் மதிப்பை அடுக்கில் தள்ளு
73PUSH203.uint16020-பைட் மதிப்பை அடுக்கில் தள்ளு
74PUSH213.uint16821-பைட் மதிப்பை அடுக்கில் தள்ளு
75PUSH223.uint17622-பைட் மதிப்பை அடுக்கில் தள்ளு
76PUSH233.uint18423-பைட் மதிப்பை அடுக்கில் தள்ளு
77PUSH243.uint19224-பைட் மதிப்பை அடுக்கில் தள்ளு
78PUSH253.uint20025-பைட் மதிப்பை அடுக்கில் தள்ளு
79PUSH263.uint20826-பைட் மதிப்பை அடுக்கில் தள்ளு
7APUSH273.uint21627-பைட் மதிப்பை அடுக்கில் தள்ளு
7BPUSH283.uint22428-பைட் மதிப்பை அடுக்கில் தள்ளு
7CPUSH293.uint23229-பைட் மதிப்பை அடுக்கில் தள்ளு
7DPUSH303.uint24030-பைட் மதிப்பை அடுக்கில் தள்ளு
7EPUSH313.uint24831-பைட் மதிப்பை அடுக்கில் தள்ளு
7FPUSH323.uint25632-பைட் மதிப்பை அடுக்கில் தள்ளு
80DUP13aa, aஅடுக்கில் உள்ள 1வது மதிப்பை குளோன் செய்
81DUP23_, aa, _, aஅடுக்கில் உள்ள 2வது மதிப்பை குளோன் செய்
82DUP33_, _, aa, _, _, aஅடுக்கில் உள்ள 3வது மதிப்பை குளோன் செய்
83DUP43_, _, _, aa, _, _, _, aஅடுக்கில் உள்ள 4வது மதிப்பை குளோன் செய்
84DUP53..., aa, ..., aஅடுக்கில் உள்ள 5வது மதிப்பை குளோன் செய்
85DUP63..., aa, ..., aஅடுக்கில் உள்ள 6வது மதிப்பை குளோன் செய்
86DUP73..., aa, ..., aஅடுக்கில் உள்ள 7வது மதிப்பை குளோன் செய்
87DUP83..., aa, ..., aஅடுக்கில் உள்ள 8வது மதிப்பை குளோன் செய்
88DUP93..., aa, ..., aஅடுக்கில் உள்ள 9வது மதிப்பை குளோன் செய்
89DUP103..., aa, ..., aஅடுக்கில் உள்ள 10வது மதிப்பை குளோன் செய்
8ADUP113..., aa, ..., aஅடுக்கில் உள்ள 11வது மதிப்பை குளோன் செய்
8BDUP123..., aa, ..., aஅடுக்கில் உள்ள 12வது மதிப்பை குளோன் செய்
8CDUP133..., aa, ..., aஅடுக்கில் உள்ள 13வது மதிப்பை குளோன் செய்
8DDUP143..., aa, ..., aஅடுக்கில் உள்ள 14வது மதிப்பை குளோன் செய்
8EDUP153..., aa, ..., aஅடுக்கில் உள்ள 15வது மதிப்பை குளோன் செய்
8FDUP163..., aa, ..., aஅடுக்கில் உள்ள 16வது மதிப்பை குளோன் செய்
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
A0LOG0A8 (opens in a new tab)ost, len.LOG0(memory[ost:ost+len-1])
A1LOG1A8 (opens in a new tab)ost, len, topic0.LOG1(memory[ost:ost+len-1], topic0)
A2LOG2A8 (opens in a new tab)ost, len, topic0, topic1.LOG2(memory[ost:ost+len-1], topic0, topic1)
A3LOG3A8 (opens in a new tab)ost, len, topic0, topic1, topic2.LOG3(memory[ost:ost+len-1], topic0, topic1, topic2)
A4LOG4A8 (opens in a new tab)ost, len, topic0, topic1, topic2, topic3.LOG4(memory[ost:ost+len-1], topic0, topic1, topic2, topic3)
A5-EFதவறானது
F0CREATEA9 (opens in a new tab)val, ost, lenaddraddr = keccak256(rlp([address(this), this.nonce]))
F1CALLAA (opens in a new tab)gas, addr, val, argOst, argLen, retOst, retLensuccessmem[retOst:retOst+retLen-1] := returndata
F2CALLCODEAA (opens in a new tab)gas, addr, val, argOst, argLen, retOst, retLensuccessmem[retOst:retOst+retLen-1] = returndataDELEGATECALL ஐப் போன்றது, ஆனால் அசல் msg.sender மற்றும் msg.value ஐப் பரப்பாது
F3RETURN0* (opens in a new tab)ost, len.mem[ost:ost+len-1] ஐத் திருப்பு
F4DELEGATECALLAA (opens in a new tab)gas, addr, argOst, argLen, retOst, retLensuccessmem[retOst:retOst+retLen-1] := returndata
F5CREATE2A9 (opens in a new tab)val, ost, len, saltaddraddr = keccak256(0xff ++ address(this) ++ salt ++ keccak256(mem[ost:ost+len-1]))[12:]
F6-F9தவறானது
FASTATICCALLAA (opens in a new tab)gas, addr, argOst, argLen, retOst, retLensuccessmem[retOst:retOst+retLen-1] := returndata
FB-FCதவறானது
FDREVERT0* (opens in a new tab)ost, len.revert(mem[ost:ost+len-1])
FEINVALIDAF (opens in a new tab)நியமிக்கப்பட்ட தவறான ஆப்கோடு - EIP-141 (opens in a new tab)
FFSELFDESTRUCTAB (opens in a new tab)addr.அனைத்து ETH ஐயும் addr க்கு அனுப்புகிறது; ஒரு ஒப்பந்தம் உருவாக்கப்பட்ட அதே பரிவர்த்தனையில் செயல்படுத்தப்பட்டால் அது ஒப்பந்தத்தை அழிக்கிறது

இந்தக் கட்டுரை பயனுள்ளதாக இருந்ததா?