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

EVM-க்கான செயல்பாட்டுக் குறியீடுகள்

கண்ணோட்டம்

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

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

மாறும் எரிவாயு செலவுகளைக் கொண்ட செயல்பாடுகளுக்கு, 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)குறியீட்டு நீட்டிப்பு (sign extend) (opens in a new tab) x(b+1) பைட்டுகளிலிருந்து 32 பைட்டுகளுக்கு
0C-0Fசெல்லாதது
10LT3a, ba < buint256 விடக் குறைவானது
11GT3a, ba > buint256 விடப் பெரியது
12SLT3a, ba < bint256 விடக் குறைவானது
13SGT3a, ba > bint256 விடப் பெரியது
14EQ3a, ba == b(u)int256 சமத்துவம்
15ISZERO3aa == 0(u)int256 பூஜ்ஜியமா (iszero)
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இடது நகர்வு (shift left)
1CSHR3shift, valval >> shiftதர்க்கரீதியான வலது நகர்வு (logical shift right)
1DSAR3shift, valval >> shiftஎண்கணித வலது நகர்வு (arithmetic shift right)
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.balanceஇருப்பு, Wei இல்
32ORIGIN2.tx.originபரிவர்த்தனையைத் தொடங்கிய முகவரி
33CALLER2.msg.senderசெய்தி அனுப்புநரின் முகவரி
34CALLVALUE2.msg.valueசெய்தி மதிப்பு, Wei இல்
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)முகவரியில் உள்ள குறியீட்டின் அளவு, பைட்டுகளில்
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)addrhashஹாஷ் = 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தற்போதைய சங்கிலி ஐடியை (chain id) (opens in a new tab) அடுக்கில் தள்ளு
47SELFBALANCE5.address(this).balanceசெயல்படுத்தப்படும் ஒப்பந்தத்தின் இருப்பு, Wei இல்
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.dst ஒரு செல்லுபடியாகும் jumpdest ஆக இருந்தால் மட்டுமே pc ஒதுக்கப்படும் என்பதை $pc := dst குறிக்கிறது
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.return 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)செல்லாத செயல்பாட்டுக் குறியீடாக (opcode) நியமிக்கப்பட்டது - EIP-141 (opens in a new tab)
FFSELFDESTRUCTAB (opens in a new tab)addr.அனைத்து ETH ஐயும் addr க்கு அனுப்புகிறது; ஒரு ஒப்பந்தம் உருவாக்கப்பட்ட அதே பரிவர்த்தனையில் செயல்படுத்தப்பட்டால் அது ஒப்பந்தத்தை அழிக்கிறது