Difference between revisions of "Proxyd"

From wikieduonline
Jump to navigation Jump to search
 
(23 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
{{lc}}<code>proxyd</code> is an [[RPC]] [[proxy]]
 
{{lc}}<code>proxyd</code> is an [[RPC]] [[proxy]]
 
 
* 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
 
* Changelog: https://github.com/ethereum-optimism/infra/blob/main/proxyd/CHANGELOG.md
 
* Config: https://github.com/ethereum-optimism/infra/blob/main/proxyd/config.go
 
* Config: https://github.com/ethereum-optimism/infra/blob/main/proxyd/config.go
 +
** [[Proxyd config example]]: https://github.com/ethereum-optimism/infra/blob/main/proxyd/example.config.toml
 +
** proxyd /etc/proxyd/[[proxyd.toml]]: <code>[[ws_method_whitelist]], [[response_timeout_seconds]], [[out_of_service_seconds]], [[max_latency_threshold]]</code>
 +
* Releases: https://github.com/ethereum-optimism/infra/tags
  
 
Features:
 
Features:
* [[Whitelists]] [[RPC methods]]
+
* [[Whitelists]] [[RPC methods]] (<code>[[ws_method_whitelist]]</code>)
 
* Routes RPC methods to groups of backend services
 
* Routes RPC methods to groups of backend services
* Load balance requests across backend services
+
* [[Round-robin]] [[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
Line 21: Line 21:
  
  
* 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 ==
+
== [[Proxyd backend healthy]] ==
  
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>
 
  
 +
== Errors examples ==
 +
[[Failed sync attempt]] to a7eaa64c50083f1xxxxxfd96eaabffd1c8f: one or more objects failed to apply, reason: error when patching
 +
"/dev/shm/396xxxxx68": Deployment.apps "your-service" is invalid: spec.template.spec.containers[0].env[1].valueFrom: Invalid value: "": may not
 +
be specified when `value` is not empty (retried 1 times).
  
WARN
+
== [[Proxyd logs]] ==
* <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
+
== Activities ==
* <code>[[starting proxyd]]</code>
+
* Read [[Optimism Censorship Bug Disclosure]]
* <code>[[Updating CA certificates.]]</code>
 
* <code>[[Running CMD.]]</code>
 
  
 
== Related ==
 
== Related ==
Line 53: Line 41:
 
* [[dRPC]]
 
* [[dRPC]]
 
* [[Total number of primary candidates]]
 
* [[Total number of primary candidates]]
* [[Optimism Censorship Bug Disclosure]]
+
* [[RedisConfig]]
 +
* [[Fallback]]
  
 
== See also ==
 
== See also ==

Latest revision as of 12:49, 21 October 2024

proxyd is an RPC proxy

Features:

Consensus related:

  • Track backend consensus (latest, safe, finalized blocks), peer count and sync state
  • Re-write requests and responses to enforce consensus


Proxyd backend healthy[edit]

Errors examples[edit]

Failed sync attempt to a7eaa64c50083f1xxxxxfd96eaabffd1c8f: one or more objects failed to apply, reason: error when patching 
"/dev/shm/396xxxxx68": Deployment.apps "your-service" is invalid: spec.template.spec.containers[0].env[1].valueFrom: Invalid value: "": may not 
be specified when `value` is not empty (retried 1 times).

Proxyd logs[edit]

Activities[edit]

Related[edit]

See also[edit]

Advertising: