| A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | AA | AB | AC | AD | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Approximations | Gas price | |||||||||||||||||||||||||||||
2 | Param | Compute (µs) | History (bytes) | State (bytes) | Read / merkle proof size | Bandwidth | Bloom topic | Mem quad | Computed | Actual | Coefficient | ||||||||||||||||||||
3 | DUP | 3 | 3 | 3 | FASTESTSTEP | ||||||||||||||||||||||||||
4 | SWAP | 3 | 3 | 3 | FASTESTSTEP | ||||||||||||||||||||||||||
5 | PUSH | 3 | 3 | 3 | FASTESTSTEP | Max execution time (us) | 3141592 | 1 | per microsecond | ||||||||||||||||||||||
6 | 0 | 0 | Max history growth per day (MB) | 3217 | 6.705502127 | per history byte | |||||||||||||||||||||||||
7 | ADD | 3 | 3 | 3 | FASTESTSTEP | Max state growth per day (MB) | 113 | 190.8991181 | per state byte | ||||||||||||||||||||||
8 | MUL | 5 | 5 | 5 | FASTSTEP | Max read/merkle proof size (MB) | 12 | 0.2496713003 | per read/merkle proof byte | ||||||||||||||||||||||
9 | SUB | 3 | 3 | 3 | FASTESTSTEP | Max block size (KB) | 50.25 | 61.053949 | per bandwidth byte | ||||||||||||||||||||||
10 | DIV | 5 | 5 | 5 | FASTSTEP | Max bloom topics per block | 12566 | 250.0073213 | per bloom topic | ||||||||||||||||||||||
11 | SDIV | 5 | 5 | 5 | FASTSTEP | Max memory (MB) | 39 | 0.001969793296 | per memory quad (eg. 160 bytes -> 5 words -> 25 quads) | ||||||||||||||||||||||
12 | MOD | 5 | 5 | 5 | FASTSTEP | ||||||||||||||||||||||||||
13 | SMOD | 5 | 5 | 5 | FASTSTEP | Gas limit | 3141592 | ||||||||||||||||||||||||
14 | ADDMOD | 8 | 8 | 8 | MIDSTEP | ||||||||||||||||||||||||||
15 | MULMOD | 8 | 8 | 8 | MIDSTEP | ||||||||||||||||||||||||||
16 | EXPBASE | 10 | 10 | 10 | SLOWSTEP | ||||||||||||||||||||||||||
17 | EXPBYTE | 10 | 10 | 10 | |||||||||||||||||||||||||||
18 | SIGNEXTEND | 5 | 5 | 5 | FASTSTEP | ||||||||||||||||||||||||||
19 | LT | 3 | 3 | 3 | FASTESTSTEP | ||||||||||||||||||||||||||
20 | GT | 3 | 3 | 3 | FASTESTSTEP | ||||||||||||||||||||||||||
21 | SLT | 3 | 3 | 3 | FASTESTSTEP | ||||||||||||||||||||||||||
22 | SGT | 3 | 3 | 3 | FASTESTSTEP | ||||||||||||||||||||||||||
23 | EQ | 3 | 3 | 3 | FASTESTSTEP | ||||||||||||||||||||||||||
24 | ISZERO | 3 | 3 | 3 | FASTESTSTEP | ||||||||||||||||||||||||||
25 | AND | 3 | 3 | 3 | FASTESTSTEP | ||||||||||||||||||||||||||
26 | OR | 3 | 3 | 3 | FASTESTSTEP | ||||||||||||||||||||||||||
27 | XOR | 3 | 3 | 3 | FASTESTSTEP | ||||||||||||||||||||||||||
28 | NOT | 3 | 3 | 3 | FASTESTSTEP | ||||||||||||||||||||||||||
29 | BYTE | 3 | 3 | 3 | FASTESTSTEP | ||||||||||||||||||||||||||
30 | SHA3BASE | 30 | 30 | 30 | |||||||||||||||||||||||||||
31 | SHA3WORD | 6 | 6 | 6 | |||||||||||||||||||||||||||
32 | ECRECOVER | 3000 | 3000 | 3000 | |||||||||||||||||||||||||||
33 | SHA256BASE | 60 | 60 | 60 | |||||||||||||||||||||||||||
34 | SHA256WORD | 12 | 12 | 12 | |||||||||||||||||||||||||||
35 | RIPEMD160BASE | 600 | 600 | 600 | |||||||||||||||||||||||||||
36 | RIPEMD160WORD | 120 | 120 | 120 | |||||||||||||||||||||||||||
37 | IDENTITYBASE | 15 | 15 | 15 | |||||||||||||||||||||||||||
38 | IDENTITYWORD | 3 | 3 | 3 | |||||||||||||||||||||||||||
39 | ADDRESS | 2 | 2 | 2 | QUICKSTEP | ||||||||||||||||||||||||||
40 | BALANCE | 300 | 1000 | 549.6713003 | 400 | EXTSTEP | |||||||||||||||||||||||||
41 | ORIGIN | 2 | 2 | 2 | QUICKSTEP | ||||||||||||||||||||||||||
42 | CALLER | 2 | 2 | 2 | QUICKSTEP | ||||||||||||||||||||||||||
43 | CALLVALUE | 2 | 2 | 2 | QUICKSTEP | ||||||||||||||||||||||||||
44 | CALLDATALOAD | 3 | 3 | 3 | FASTESTSTEP | ||||||||||||||||||||||||||
45 | CALLDATASIZE | 2 | 2 | 2 | QUICKSTEP | ||||||||||||||||||||||||||
46 | CALLDATACOPYBASE | 3 | 3 | 3 | FASTESTSTEP | ||||||||||||||||||||||||||
47 | CODESIZE | 2 | 2 | 2 | QUICKSTEP | ||||||||||||||||||||||||||
48 | CODECOPYBASE | 3 | 3 | 3 | FASTESTSTEP | ||||||||||||||||||||||||||
49 | GASPRICE | 2 | 2 | 2 | QUICKSTEP | ||||||||||||||||||||||||||
50 | EXTCODESIZE | 20 | 1000 | 269.6713003 | 400 | EXTSTEP | |||||||||||||||||||||||||
51 | EXTCODECOPYBASE | 20 | 1000 | 269.6713003 | 400 | EXTSTEP | |||||||||||||||||||||||||
52 | CODELOADWORD | 32 | 7.989481608 | 5 | When calling EXTCODECOPY, EXTCODESIZE OR a call operation, charge gas equal to the ENTIRE CODE LENGTH in words times this value | ||||||||||||||||||||||||||
53 | GCOPYWORD | 3 | 3 | 3 | |||||||||||||||||||||||||||
54 | BLOCKHASH | 20 | 20 | 20 | EXTSTEP | ||||||||||||||||||||||||||
55 | COINBASE | 2 | 2 | 2 | QUICKSTEP | ||||||||||||||||||||||||||
56 | TIMESTAMP | 2 | 2 | 2 | QUICKSTEP | ||||||||||||||||||||||||||
57 | NUMBER | 2 | 2 | 2 | QUICKSTEP | ||||||||||||||||||||||||||
58 | DIFFICULTY | 2 | 2 | 2 | QUICKSTEP | ||||||||||||||||||||||||||
59 | GASLIMIT | 2 | 2 | 2 | QUICKSTEP | ||||||||||||||||||||||||||
60 | POP | 2 | 2 | 2 | QUICKSTEP | ||||||||||||||||||||||||||
61 | MLOAD | 3 | 3 | 3 | FASTESTSTEP | ||||||||||||||||||||||||||
62 | MSTORE | 3 | 3 | 3 | FASTESTSTEP | ||||||||||||||||||||||||||
63 | MSTORE8 | 3 | 3 | 3 | FASTESTSTEP | ||||||||||||||||||||||||||
64 | SLOAD | 200 | 500 | 324.8356501 | 200 | ||||||||||||||||||||||||||
65 | STORAGEADD | 200 | 750 | 80 | 500 | 20625.89169 | 20000 | ||||||||||||||||||||||||
66 | STORAGEMOD | 200 | 750 | 0 | 500 | 5353.962245 | 5000 | ||||||||||||||||||||||||
67 | STORAGEKILL | 200 | 750 | -80 | 500 | -9917.9672 | 5000, plus 15000 refund | ||||||||||||||||||||||||
68 | JUMP | 8 | 8 | 8 | MIDSTEP | ||||||||||||||||||||||||||
69 | JUMPI | 10 | 10 | 10 | SLOWSTEP | ||||||||||||||||||||||||||
70 | PC | 2 | 2 | 2 | QUICKSTEP | ||||||||||||||||||||||||||
71 | MSIZE | 2 | 2 | 2 | QUICKSTEP | ||||||||||||||||||||||||||
72 | GAS | 2 | 2 | 2 | QUICKSTEP | ||||||||||||||||||||||||||
73 | JUMPDEST | 1 | 1 | 1 | |||||||||||||||||||||||||||
74 | GLOG | 32 | 10 | 1 | 349.0623426 | 375 | |||||||||||||||||||||||||
75 | GLOGTOPIC | 20 | 16 | 1 | 377.2953554 | 375 | |||||||||||||||||||||||||
76 | GLOGDATA | 1 | 1 | 7.705502127 | 8 | ||||||||||||||||||||||||||
77 | CREATE | 1000 | 1000 | 128 | 1000 | 32390.26054 | 32000 | ||||||||||||||||||||||||
78 | CREATEDATA | 3 | 1 | 193.8991181 | 200 | New: full_memory_gas_cost = 3 * W + floor(W*W / 512) | |||||||||||||||||||||||||
79 | GCALL | 400 | 1000 | 649.6713003 | 700 | ||||||||||||||||||||||||||
80 | GCALLVALUETRANSFER | 1000 | 6705.502127 | 9000 | Note: 2300 additional free gas to internal execution for calls that have value transfer | ||||||||||||||||||||||||||
81 | GCALLSTIPEND | 0 | 2300 | ||||||||||||||||||||||||||||
82 | GCALLNEWACCOUNT | 0 | 128 | 24435.08711 | 25000 | ||||||||||||||||||||||||||
83 | 0 | ||||||||||||||||||||||||||||||
84 | RETURN | 5 | 5 | 0 | ZEROSTEP | ||||||||||||||||||||||||||
85 | STOP | 1 | 750 | 5030.126595 | 0 | ZEROSTEP | |||||||||||||||||||||||||
86 | SUICIDE | 1000 | 0 | 1000 | 5000 | ZEROSTEP | |||||||||||||||||||||||||
87 | GSUICIDEREFUND | -128 | -24435.08711 | 24000 refund | |||||||||||||||||||||||||||
88 | MEMWORD | 3 | 3 | 3 | |||||||||||||||||||||||||||
89 | QUADCOEFFDIV | 1 | 0.001969793296 | 512 (divisor) | Old: full_memory_gas_cost = W + floor(W*W / 1024), W = words in memory | ||||||||||||||||||||||||||
90 | GTX | 10000 | 1200 | 1200 | 110 | 25062.1425 | 21000 | ||||||||||||||||||||||||
91 | GTXDATANONZERO | 1 | 1 | 67.75945113 | 68 | ||||||||||||||||||||||||||
92 | GTXDATAZERO | 0.0625 | 0.0625 | 4.234965696 | 4 | ||||||||||||||||||||||||||
93 | |||||||||||||||||||||||||||||||
94 | See https://github.com/ethereum/cpp-ethereum/blob/poc9trie/feeStructure.json | ||||||||||||||||||||||||||||||
95 | Tier | Name | Gas | ||||||||||||||||||||||||||||
96 | 0 | ZEROSTEP | 0 | ||||||||||||||||||||||||||||
97 | 1 | QUICKSTEP | 2 | ||||||||||||||||||||||||||||
98 | 2 | FASTESTSTEP | 3 | ||||||||||||||||||||||||||||
99 | 3 | FASTSTEP | 5 | ||||||||||||||||||||||||||||
100 | 4 | MIDSTEP | 8 | ||||||||||||||||||||||||||||