Skip to content

Commit 4e0821f

Browse files
authored
Merge pull request #15 from scroll-tech/develop
updates from main
2 parents 473e09a + bf7d08f commit 4e0821f

File tree

12 files changed

+1214
-1
lines changed

12 files changed

+1214
-1
lines changed

public/locales/en/translation.json

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,14 @@
110110
"scrollSepoliaBlockExplorer": "Scroll Sepolia Explorer",
111111
"sepoliaRollupExplorer": "Rollup Explorer",
112112
"sepoliaBlockExplorer": "Scrollscan Explorer",
113-
"canvasBadge": "Canvas & Badge Integration"
113+
"canvasBadge": "Canvas & Badge Integration",
114+
"transactionJourney": "Checking Transaction Journey"
115+
},
116+
"whatToBuild": {
117+
"whatToBuild": "What to Build",
118+
"stablecoinPaymentsTutorial": "Stablecoin Payments Tutorial",
119+
"solidityCookbook": "Solidity Cookbook",
120+
"privacyDappsWithZk": "Privacy dApps with ZK"
114121
},
115122
"technology": {
116123
"introduction": "Introduction",

public/locales/es/translation.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,12 @@
109109
"sepoliaRollupExplorer": "Explorador de Rollup",
110110
"sepoliaBlockExplorer": "Explorador de bloques Scrollscan"
111111
},
112+
"whatToBuild": {
113+
"whatToBuild": "Qué construir",
114+
"stablecoinPaymentsTutorial": "Pagos con Stablecoins",
115+
"solidityCookbook": "Recetario de Solidity",
116+
"privacyDappsWithZk": "Dapps Privadas con ZK"
117+
},
112118
"technology": {
113119
"introduction": "Introducción",
114120
"principles": "Principios",
141 KB
Loading
208 KB
Loading
145 KB
Loading
118 KB
Loading

src/config/sidebar.ts

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,10 @@ export const getSidebar = () => {
166166
title: t("sidebar.developers.canvasBadge"),
167167
url: formatUrl("developers/guides/canvas-badge-integration"),
168168
},
169+
{
170+
title: t("sidebar.developers.transactionJourney"),
171+
url: formatUrl("developers/guides/checking-transaction-journey"),
172+
},
169173
// {
170174
// title: t("sidebar.developers.bridgingERC721NftThroughCustomGateway"),
171175
// url: formatUrl("developers/guides/"),
@@ -180,6 +184,23 @@ export const getSidebar = () => {
180184
// },
181185
],
182186
},
187+
{
188+
section: t("sidebar.whatToBuild.whatToBuild"),
189+
contents: [
190+
{
191+
title: t("sidebar.whatToBuild.stablecoinPaymentsTutorial"),
192+
url: formatUrl("developers/what-to-build/stablecoin-payments-tutorial"),
193+
},
194+
{
195+
title: t("sidebar.whatToBuild.solidityCookbook"),
196+
url: formatUrl("developers/what-to-build/solidity-cookbook"),
197+
},
198+
{
199+
title: t("sidebar.whatToBuild.privacyDappsWithZk"),
200+
url: formatUrl("developers/what-to-build/privacy-dapps-with-zk"),
201+
},
202+
],
203+
},
183204
{
184205
section: t("sidebar.developers.mainnetResources"),
185206
contents: [
175 KB
Loading
Lines changed: 137 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,137 @@
1+
---
2+
section: developers
3+
date: Last Modified
4+
title: "Checking Transaction Journey Guide"
5+
lang: "en"
6+
permalink: "developers/guides/checking-transaction-journey"
7+
excerpt: "This guide contains instructions on how you can check your transaction's journey."
8+
---
9+
10+
import Aside from "../../../../../components/Aside.astro"
11+
import ClickToZoom from "../../../../../components/ClickToZoom.astro"
12+
import ToggleElement from "../../../../../components/ToggleElement.astro"
13+
import txJourneyDiagram from "../_images/txJourneyDiagram.png"
14+
15+
This guide will help you to check the journey of a transaction through the **Scroll network**, how to inspect it via the `/tx/journeys` API, and interpret its lifecycle.
16+
17+
### Architecture Summary
18+
19+
<ClickToZoom src={txJourneyDiagram} />
20+
_Diagram of Scroll transaction journey_
21+
22+
| Component | Role |
23+
|-----------------------|---------------------------------------------------|
24+
| User/DApp | Submits transaction. |
25+
| Monitoring Service | Logs events and tracks transaction progress |
26+
| Scroll Internal Nodes | Peer nodes supporting network operations such as bootnodes or RPC nodes for internal backend services. |
27+
| Scroll Sequencer | Orders transactions into blocks. |
28+
| HTTP API | External access interface for monitoring service |
29+
30+
---
31+
32+
### Endpoint
33+
34+
POST https://venus.scroll.io/v1/tx/journeys
35+
36+
### Request Example
37+
38+
```bash
39+
curl -X POST "https://venus.scroll.io/v1/tx/journeys" \
40+
-H "Content-Type: application/json" \
41+
-d '{
42+
"tx_hashes": [
43+
"0xf8a92194cb21dcfaa2efe3230c5d5c80f7e71361575eff33cafa6ebc9eb34357"
44+
]
45+
}' | jq
46+
```
47+
48+
#### Response Fields
49+
50+
| Field | Description |
51+
|-------------------|-------------|
52+
| `tx_hash` | Transaction hash queried. |
53+
| `current_status` | Final status (`queued`,`pending`,`executed`,`dropped`,`replaced`). |
54+
| `execution_status`| Result of execution (`successful`,`reverted`,`unknown`,`error`). |
55+
| `first_seen_at` | First time the network detected this transaction. |
56+
| `last_updated_at` | Most recent status update time. |
57+
| `journey` | Detailed list of state transitions for the transaction. |
58+
59+
#### Current Status
60+
61+
| Stage | Description |
62+
|-----------|-------------|
63+
| `queued` | Transaction not yet executable, e.g. nonce gap or awaiting prior txs. |
64+
| `pending` | Transaction valid and executable in mempool. |
65+
| `executed` | Transaction included in a block. |
66+
| `dropped` | Transaction removed due to expiration, mempool overflow, or invalid parameters. |
67+
| `replaced` | Transaction replaced by a new transaction (same sender and nonce, with higher gas price). |
68+
69+
#### Execution Status
70+
71+
| Status | Meaning |
72+
|------------|---------|
73+
| `successful`| Transaction executed successfully and included in a block. |
74+
| `reverted` | Transaction failed during execution. |
75+
| `unknown` | Transaction not yet executed. |
76+
| `error` | Unexpected error in query node. Should rarely occur. |
77+
78+
### Journey Field Example
79+
80+
#### Queued
81+
82+
```json
83+
{
84+
"event_type": "queued",
85+
"timestamp": "2025-06-19T17:22:23.27Z",
86+
"node_type": "l2geth-bootnode-0",
87+
"event_detail": "Transaction added to future queue (initial processing - will be promoted to pending if nonce is correct and all validity checks pass, or wait for conditions to be met)"
88+
}
89+
```
90+
91+
#### Pending
92+
93+
```json
94+
{
95+
"event_type": "pending",
96+
"timestamp": "2025-06-19T17:22:23.27Z",
97+
"node_type": "l2geth-bootnode-0",
98+
"event_detail": "Transaction promoted from future queue to pending pool (passed all checks: correct nonce sequence, sufficient balance including L1 data fee, gas limit compliance, and account pending limit)"
99+
}
100+
```
101+
102+
#### Executed
103+
104+
```json
105+
{
106+
"event_type": "executed",
107+
"timestamp": "2025-06-19T17:22:23.299Z",
108+
"node_type": "l2geth-mpt-signer-1",
109+
"event_detail": "Transaction successfully included in a block and executed on-chain"
110+
}
111+
```
112+
113+
#### Dropped
114+
115+
```json
116+
{
117+
"event_type": "dropped",
118+
"timestamp": "2025-06-19T17:22:23.352Z",
119+
"node_type": "l2geth-bootnode-2",
120+
"event_detail": "Transaction rejected (validation failed - insufficient funds, unsupported transaction type, or other validation errors)"
121+
}
122+
```
123+
124+
1. `Queued`: Transaction waiting for execution (e.g., nonce gap)
125+
2. `Pending`: Transaction ready for inclusion by Scroll Sequencer.
126+
3. `Executed`: Transaction included in a block.
127+
4. `Dropped` or `Replaced`: Transaction invalidated or replaced before execution.
128+
129+
### Common Failure Reasons
130+
131+
**Dropped:**
132+
- Timeout: Stuck too long in queue.
133+
- Mempool full.
134+
- Invalid parameters (e.g., nonce too low, fee cap below block base fee).
135+
136+
**Replaced:**
137+
- Same nonce transaction with higher gas price replaces previous.

0 commit comments

Comments
 (0)