Difference between revisions of "Proxyd"
Jump to navigation
Jump to search
(31 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
* https://github.com/ethereum-optimism/infra/tree/main/proxyd | * https://github.com/ethereum-optimism/infra/tree/main/proxyd | ||
+ | |||
+ | proxyd /etc/proxyd/[[proxyd.toml]] [[ws_method_whitelist]] | ||
+ | |||
+ | * Changelog: https://github.com/ethereum-optimism/infra/blob/main/proxyd/CHANGELOG.md | ||
+ | * Config: https://github.com/ethereum-optimism/infra/blob/main/proxyd/config.go | ||
+ | * Releases: https://github.com/ethereum-optimism/infra/tags | ||
Features: | Features: | ||
− | * [[Whitelists]] [[RPC methods]] | + | * [[Whitelists]] [[RPC methods]] ([[ws_method_whitelist]]) |
* Routes RPC methods to groups of backend services | * Routes RPC methods to groups of backend services | ||
* Load balance requests across backend services | * Load balance requests across backend services | ||
* Automatically [[retries]] failed backend requests | * Automatically [[retries]] failed backend requests | ||
* Cache immutable responses from backends | * Cache immutable responses from backends | ||
− | * Provides metrics to measure request latency, error rates | + | * Provides metrics to measure request latency, error rates |
[[Consensus]] related: | [[Consensus]] related: | ||
Line 15: | Line 21: | ||
* Re-write requests and responses to enforce consensus | * Re-write requests and responses to enforce consensus | ||
+ | |||
+ | * Applies [[rate limiting]] (<code>[[SenderRateLimitConfig]]</code>) on a per-sender basis to avoid being bombarded with signed transactions causing a DOS (Denial of Service) of the sequencer ([[Optimism Censorship Bug Disclosure]]) | ||
+ | |||
+ | == Logs == | ||
+ | |||
+ | ERROR | ||
+ | * <code>[[error forwarding request to backend]]</code> | ||
+ | * <code>[[Error forwarding RPC batch]]</code> | ||
+ | * <code>[[error serving requests]]</code> | ||
+ | * <code>[[error proxying websocket]]</code> | ||
+ | * <code>[[error writing clientConn message]]</code> | ||
+ | |||
+ | |||
+ | WARN | ||
+ | * <code>[[backend request failed, trying again]]</code> | ||
+ | * <code>[[backend banned - not healthy]]</code> | ||
+ | * <code>[[backend banned - unexpected block tags]]</code> | ||
+ | * <code>proxied requests' [[XFF]] header will not contain the proxyd ip address</code> | ||
+ | * <code>[[peer count responded with 200 and 0 peers]]</code> | ||
+ | * <code>[[failed request]]</code> | ||
+ | * <code>[[error updating backend]]</code> | ||
+ | * <code>[[backend broke consensus]]</code> | ||
+ | |||
+ | INFO | ||
+ | * <code>[[starting proxyd]]</code> | ||
+ | * <code>[[Updating CA certificates.]]</code> | ||
+ | * <code>[[Running CMD.]]</code> | ||
+ | |||
+ | == Activities == | ||
+ | * Read [[Optimism Censorship Bug Disclosure]] | ||
== Related == | == Related == | ||
Line 21: | Line 57: | ||
* [[dRPC]] | * [[dRPC]] | ||
* [[Total number of primary candidates]] | * [[Total number of primary candidates]] | ||
− | * [[ | + | * [[RedisConfig]] |
+ | * [[Fallback]] | ||
== See also == | == See also == | ||
+ | * {{proxyd}} | ||
* {{op-}} | * {{op-}} | ||
− | |||
[[Category:Optisism]] | [[Category:Optisism]] |
Latest revision as of 11:42, 30 September 2024
proxyd /etc/proxyd/proxyd.toml ws_method_whitelist
- Changelog: https://github.com/ethereum-optimism/infra/blob/main/proxyd/CHANGELOG.md
- Config: https://github.com/ethereum-optimism/infra/blob/main/proxyd/config.go
- Releases: https://github.com/ethereum-optimism/infra/tags
Features:
- Whitelists RPC methods (ws_method_whitelist)
- Routes RPC methods to groups of backend services
- Load balance requests across backend services
- Automatically retries failed backend requests
- Cache immutable responses from backends
- Provides metrics to measure request latency, error rates
Consensus related:
- Track backend consensus (latest, safe, finalized blocks), peer count and sync state
- Re-write requests and responses to enforce consensus
- Applies rate limiting (
SenderRateLimitConfig
) on a per-sender basis to avoid being bombarded with signed transactions causing a DOS (Denial of Service) of the sequencer (Optimism Censorship Bug Disclosure)
Contents
Logs[edit]
ERROR
error forwarding request to backend
Error forwarding RPC batch
error serving requests
error proxying websocket
error writing clientConn message
WARN
backend request failed, trying again
backend banned - not healthy
backend banned - unexpected block tags
proxied requests' XFF header will not contain the proxyd ip address
peer count responded with 200 and 0 peers
failed request
error updating backend
backend broke consensus
INFO
Activities[edit]
Related[edit]
- Consensus
- Emerald Dshackle load balancer
- dRPC
- Total number of primary candidates
- RedisConfig
- Fallback
See also[edit]
Advertising: