You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/zkEVM/architecture/proving-system/json-rpc-to-proof.md
+8-8Lines changed: 8 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,7 +17,7 @@ The Ethereum JSON-RPC is a standardized collection of methods used by all Ethere
17
17
18
18
The zkEVM JSON-RPC is an interface compatible with the Ethereum JSON-RPC for any layer 2 system.
19
19
20
-
It replicates the same endpoints as the Ethereum JSON-RPC, and similarly receives queries and provides answers to users.
20
+
It implements the same endpoints as the Ethereum JSON-RPC, and similarly receives queries and provides answers to users.
21
21
22
22
The figure below illustrates a user's Ethereum JSON-RPC query to obtain information on the latest forged block.
23
23
@@ -43,7 +43,7 @@ zkEVM batches transition through various states: trusted, virtual, and consolida
43
43
44
44
45
45
46
-
We explore next the expected form of data in the zkEVM JSON-RPC's responses to queries for the latest L2 block.
46
+
Next, we explore the expected format of data in the zkEVM JSON-RPC's responses to queries for the latest L2 block.
47
47
48
48
49
49
@@ -108,7 +108,7 @@ The Etrog upgrade (which is ForkID 6) addresses these two issues.
108
108
109
109
That is, each L2 block consists of one or more transactions, and each block has its own unique timestamp.
110
110
111
-
With this implementation approach, the sequencer needs to make ensure that block construction has a shorter timeout than the batch generation.
111
+
With this implementation approach, the sequencer needs to ensure that block construction has a shorter timeout than the batch generation.
112
112
113
113
The sequencer can modify the timestamp of the various blocks in a batch by utilizing a specific transaction as a marker, dubbed `changeL2Block`.
114
114
@@ -130,7 +130,7 @@ The L2 block contains the most recent transactions approved by the trusted seque
130
130
131
131
The information is retrieved with the same RPC call as in Ethereum.
132
132
133
-
Users are not really concerned with the transaction being in a block, but rather when the batch transitions to a new state.
133
+
Users are less concerned with the transaction being in a block, and more with when the newly generated batch results in a state transition.
134
134
135
135
The zkEVM protocol has additional endpoints for retrieving various information pertaining to the status of the L2 block.
136
136
@@ -142,9 +142,9 @@ Here is a list of custom zkEVM endpoints, each accompanied by a brief descriptio
142
142
143
143
- $\mathtt{zkevm\_consolidatedBlockNumber}$: Returns the latest block number within the last verified batch.
144
144
145
-
- $\mathtt{zkevm\_isBlockVirtualized}$: Returns true if the provided block number is in a virtualized batch.
145
+
- $\mathtt{zkevm\_isBlockVirtualized}$: Returns `true` if the provided block number is in a virtualized batch.
146
146
147
-
- $\mathtt{zkevm\_isBlockConsolidated}$: Returns true if the provided block number is in a consolidated batch.
147
+
- $\mathtt{zkevm\_isBlockConsolidated}$: Returns `true` if the provided block number is in a consolidated batch.
148
148
149
149
- $\mathtt{zkevm\_batchNumber}$: Returns the latest batch number.
150
150
@@ -154,7 +154,7 @@ Here is a list of custom zkEVM endpoints, each accompanied by a brief descriptio
154
154
155
155
- $\mathtt{zkevm\_batchNumberByBlockNumber}$: Returns the batch number of the batch containing the given block.
156
156
157
-
- $\mathtt{zkevm\_getBatchByNumber}$: Gets the info of a batch given its number.
157
+
- $\mathtt{zkevm\_getBatchByNumber}$: Fetches the available info for a batch based on the specified batch number.
158
158
159
159
## Sending raw transactions
160
160
@@ -210,7 +210,7 @@ In the `validateTx()` function performs the following preliminary checks:
210
210
211
211
14. The computed _intrinsic gas_ is greater than the provided gas. The _intrinsic gas_ of a transaction measures the required gas in terms of the amount of transactional data plus the starting gas for the raw transaction which is currently of $21000$, or $53000$ in the case of a contract creation transaction.
212
212
213
-
15. The current transaction gasprice is higher than the other transactions in the PoolDB with the same nonce and from. This is because a transaction cannot be replaced with another with less gasprice.
213
+
15. The current transaction `GasPrice` is higher than the other transactions in the PoolDB with the same nonce and `from` address. This is because a transaction cannot be replaced with another with lower `GasPrice`.
214
214
215
215
16. The sizes of the transaction’s fields are compatible with the Executor needs. More specifically:
0 commit comments