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: pages/stack/operators/features/proxyd.mdx
+35-13Lines changed: 35 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,6 +4,8 @@ lang: en-US
4
4
description: Learn about the proxyd service and how to configure it for use in the OP Stack.
5
5
---
6
6
7
+
import { Steps } from'nextra/components'
8
+
7
9
# proxyd
8
10
9
11
`proxyd` is an important RPC request router and proxy used within the OP Stack infrastructure. It enables operators to efficiently route and manage RPC requests across multiple backend services, ensuring performance, fault tolerance, and security.
@@ -19,37 +21,57 @@ description: Learn about the proxyd service and how to configure it for use in t
19
21
* Caching of immutable responses
20
22
* Metrics for request latency, error rates, and backend health
21
23
22
-
23
-
## Usage
24
+
## How it works
24
25
25
26
To start using `proxyd`, follow these steps:
26
27
27
-
1.**Build the Binary**:
28
-
```bash
29
-
make proxyd
30
-
```
28
+
<Steps>
29
+
### **Build the Binary**:
30
+
31
+
* Run the following command to build the `proxyd` binary:
32
+
```bash
33
+
make proxyd
34
+
```
35
+
* This will build the `proxyd` binary. No additional dependencies are required.
31
36
32
-
This will build the proxyd binary. No additional dependencies are required.
37
+
### **Configure `proxyd`**:
33
38
34
-
2. Configure `proxyd`: Create a configuration file to define your proxy backends and routing rules. Refer to [example.config.toml](https://github.com/ethereum-optimism/infra/blob/main/proxyd/example.config.toml) for a full list of options with commentary.
39
+
* Create a configuration file to define your proxy backends and routing rules.
40
+
* Refer to [example.config.toml](https://github.com/ethereum-optimism/infra/blob/main/proxyd/example.config.toml) for a full list of options with commentary.
35
41
36
-
3.Start the Service: Once the configuration file is ready, start the proxyd service using:
42
+
### **Start the Service**:
37
43
38
-
```
39
-
proxyd <path-to-config>.toml
40
-
```
44
+
Once the configuration file is ready, start the `proxyd` service using the following command:
45
+
46
+
```bash
47
+
proxyd <path-to-config.toml>
48
+
```
49
+
</Steps>
41
50
42
51
## Consensus Awareness
43
-
Version 4.0.0 and later include consensus awareness to minimize chain reorganizations. Set `consensus_aware` to `true` in the configuration to enable:
52
+
53
+
Version 4.0.0 and later include consensus awareness to minimize chain reorganizations.
54
+
55
+
Set `consensus_aware` to `true` in the configuration to enable:
56
+
44
57
* Polling backends for consensus data (latest block, safe block, peer count, etc.).
45
58
* Resolving consensus groups based on healthiest backends
46
59
* Enforcing consensus state across client requests
47
60
48
61
## Caching and Metrics
49
62
50
63
### Cacheable Methods
64
+
51
65
Certain immutable methods, such as `eth_chainId` and `eth_getBlockByHash`, can be cached using Redis to optimize performance.
52
66
53
67
### Metrics
68
+
54
69
Extensive metrics are available to monitor request latency, error rates, backend health, and more. These can be configured via `metrics.port` and `metrics.host` in the configuration file.
55
70
71
+
## Next Steps
72
+
73
+
* Read about the [OP Stack chain architecture](/builders/chain-operators/architecture).
74
+
* Find out how you can support [snap sync](/builders/chain-operators/management/snap-sync).
75
+
on your chain.
76
+
* Find out how you can utilize [blob space](/builders/chain-operators/management/blobs)
0 commit comments