Difference between revisions of "Proxyd"

From wikieduonline
Jump to navigation Jump to search
 
(19 intermediate revisions by the same user not shown)
Line 3: Line 3:
 
* https://github.com/ethereum-optimism/infra/tree/main/proxyd
 
* https://github.com/ethereum-optimism/infra/tree/main/proxyd
  
  proxyd /etc/proxyd/[[proxyd.toml]]  
+
  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
Line 18: Line 22:
  
  
* Applies [[rate limiting]] 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]])
+
* 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 ==
 
== Logs ==
  
 
ERROR
 
ERROR
 +
* <code>[[error forwarding request to backend]]</code>
 
* <code>[[Error forwarding RPC batch]]</code>
 
* <code>[[Error forwarding RPC batch]]</code>
* <code>[[error forwarding request to backend]]</code>
+
* <code>[[error serving requests]]</code>
 
* <code>[[error proxying websocket]]</code>
 
* <code>[[error proxying websocket]]</code>
 
* <code>[[error writing clientConn message]]</code>
 
* <code>[[error writing clientConn message]]</code>
Line 31: Line 36:
 
WARN
 
WARN
 
* <code>[[backend request failed, trying again]]</code>
 
* <code>[[backend request failed, trying again]]</code>
 +
* <code>[[backend banned - not healthy]]</code>
 
* <code>[[backend banned - unexpected block tags]]</code>
 
* <code>[[backend banned - unexpected block tags]]</code>
 
* <code>proxied requests' [[XFF]] header will not contain the proxyd ip address</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
 
INFO
 
* <code>[[starting proxyd]]</code>
 
* <code>[[starting proxyd]]</code>
 +
* <code>[[Updating CA certificates.]]</code>
 +
* <code>[[Running CMD.]]</code>
 +
 +
== Activities ==
 +
* Read [[Optimism Censorship Bug Disclosure]]
  
 
== Related ==
 
== Related ==
Line 42: Line 57:
 
* [[dRPC]]
 
* [[dRPC]]
 
* [[Total number of primary candidates]]
 
* [[Total number of primary candidates]]
* [[Optimism Censorship Bug Disclosure]]
+
* [[RedisConfig]]
  
 
== See also ==
 
== See also ==
 +
* {{proxyd}}
 
* {{op-}}
 
* {{op-}}
* {{Optimism}}
 
  
 
[[Category:Optisism]]
 
[[Category:Optisism]]

Latest revision as of 16:35, 21 September 2024

proxyd is an RPC proxy

proxyd /etc/proxyd/proxyd.toml  ws_method_whitelist

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


Logs[edit]

ERROR


WARN

INFO

Activities[edit]

Related[edit]

See also[edit]

Advertising: