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
| Full | OP_GETH_GCMODE=full | Standard full node operation |
43
-
| Archive | OP_GETH_GCMODE=archive | Retain all historical states |
42
+
| Full |`OP_GETH_GCMODE=full`| Standard full node operation |
43
+
| Archive |`OP_GETH_GCMODE=archive`| Retain all historical states |
44
44
45
45
## Running the Node
46
46
47
-
The node follows the standard docker-compose workflow in the master README:
47
+
The node follows the standard `docker-compose` workflow in the master README:
48
48
49
-
\\\ash
49
+
```bash
50
50
# Run Geth node (default when no CLIENT is specified)
51
51
docker-compose up
52
52
53
53
# Or explicitly specify Geth
54
54
CLIENT=geth docker-compose up
55
-
\\\`n
55
+
```
56
+
56
57
## Exposed Ports
57
58
58
59
| Port | Protocol | Description |
@@ -67,25 +68,85 @@ CLIENT=geth docker-compose up
67
68
68
69
### EthStats Monitoring
69
70
70
-
Enable node monitoring by uncommenting in your .env file:
71
+
Enable node monitoring by uncommenting in your `.env` file:
71
72
72
-
\\\ash
73
+
```bash
73
74
OP_GETH_ETH_STATS=nodename:secret@host:port
74
-
\\\`n
75
+
```
76
+
75
77
### Snap Sync (Experimental)
76
78
77
79
For faster initial sync, enable snap sync by uncommenting the bootnode configuration and setting sync mode:
78
80
79
-
\\\ash
81
+
```bash
80
82
OP_GETH_SYNCMODE=snap
81
83
OP_GETH_BOOTNODES=enode://...
82
-
\\\`n
84
+
```
85
+
83
86
> [!WARNING]
84
87
> Snap sync is experimental and may lead to syncing issues. Use with caution in production environments.
85
88
89
+
### Peer Connectivity
90
+
91
+
To improve peer connectivity, you can configure your external IP address in the `geth-entrypoint` script and ensure port 30303 is open on your firewall:
92
+
93
+
```bash
94
+
HOST_IP="your.external.ip.address"
95
+
```
96
+
97
+
### State Scheme Configuration
98
+
99
+
Configure the state storage scheme:
100
+
101
+
```bash
102
+
OP_GETH_STATE_SCHEME=hash # or 'path' for path-based storage
103
+
```
104
+
105
+
### Unprotected Transactions
106
+
107
+
Allow unprotected (non-EIP-155) transactions if needed:
108
+
109
+
```bash
110
+
OP_GETH_ALLOW_UNPROTECTED_TXS=true
111
+
```
112
+
113
+
## Troubleshooting
114
+
115
+
### Common Issues
116
+
117
+
#### Slow Sync Performance
118
+
119
+
If experiencing slow sync performance:
120
+
- Verify network bandwidth is sufficient (recommend 100+ Mbps)
121
+
- Consider using snap sync with bootnodes for initial sync
122
+
- Check L1 RPC rate limits and connection stability
123
+
- Ensure NVMe storage is properly configured
124
+
125
+
#### High Memory Usage
126
+
127
+
Geth may consume significant memory during operation:
128
+
- Adjust cache settings based on available RAM
129
+
- Reduce `GETH_CACHE` value if experiencing OOM errors
130
+
- Monitor with `--metrics` endpoint on port 6060
131
+
132
+
#### Peer Connection Issues
133
+
134
+
If the node has difficulty finding peers:
135
+
- Ensure port 30303 (TCP/UDP) is open
136
+
- Configure `HOST_IP` with your external IP address
137
+
- Check that bootnodes are reachable
138
+
139
+
#### Engine API Authentication Errors
140
+
141
+
If seeing JWT authentication errors:
142
+
- Verify `OP_NODE_L2_ENGINE_AUTH` is correctly set
143
+
- Ensure the JWT secret matches between op-node and geth
144
+
- Check file permissions on the JWT secret file
145
+
86
146
## Additional RPC Methods
87
147
88
148
For a complete list of supported RPC methods, refer to:
0 commit comments