|
2 | 2 |
|
3 | 3 | Deploy and scale [proxyd](https://github.com/ethereum-optimism/infra/tree/main/proxyd) inside Kubernetes with ease |
4 | 4 |
|
5 | | -[](https://opensource.org/licenses/Apache-2.0)    |
| 5 | +[](https://opensource.org/licenses/Apache-2.0)    |
6 | 6 |
|
7 | 7 | ## Introduction |
8 | 8 |
|
@@ -128,12 +128,16 @@ We do not recommend that you upgrade the application by overriding `image.tag`. |
128 | 128 | |-----|-------------|------|---------| |
129 | 129 | | backendConfigTemplate | TOML configuration for backend | string | `"# How long proxyd should wait for a backend response before timing out.\nresponse_timeout_seconds = 300\n# Maximum response size, in bytes, that proxyd will accept from a backend.\nmax_response_size_bytes = 10737420000 # 10 GiB\n# Maximum number of times proxyd will try a backend before giving up.\nmax_retries = 3\n# Number of seconds to wait before trying an unhealthy backend again.\nout_of_service_seconds = 10\n"` | |
130 | 130 | | backendGroups.routing_strategy | Set the routing strategy (consensus_aware \| multicall \| fallback) | string | `"consensus_aware"` | |
131 | | - | backends.example-backend | Example backend configuration, keep disabled | object | `{"enabled":false,"extraConfig":{},"groups":["main"],"rpcUrl":"http://your-node:8545","wsUrl":"ws://your-node:8545"}` | |
| 131 | + | backendGroups.weighted_routing | Enable weighted routing | bool | `true` | |
| 132 | + | backends.example-backend | Example backend configuration, keep disabled | object | `{"enabled":false,"extraConfig":{},"groups":["main"],"rpcUrl":"http://your-node:8545","weight":1,"wsUrl":"ws://your-node:8545"}` | |
132 | 133 | | backends.example-backend.enabled | Enable the backend | bool | `false` | |
133 | 134 | | backends.example-backend.extraConfig | Define additional configuration keys for the backend (see [proxyd config](https://github.com/ethereum-optimism/optimism/blob/5d309e6a6d5e1ef6a88c1ce827b7e6d47f033bbb/proxyd/example.config.toml#L47)) | object | `{}` | |
134 | 135 | | backends.example-backend.groups | Define which backend groups the backend is part of | list | `["main"]` | |
135 | 136 | | backends.example-backend.rpcUrl | Define the JSON-RPC URL for the backend | string | `"http://your-node:8545"` | |
| 137 | + | backends.example-backend.weight | Define an weight for weighted routing | int | `1` | |
136 | 138 | | backends.example-backend.wsUrl | Define the JSON-RPC Websocket URL for the backend | string | `"ws://your-node:8545"` | |
| 139 | + | batchConfigTemplate | TOML configuration for batch | string | `"# Set maximum batch size (hard limit of 1000)\nmax_size = {{ .Values.batchMaxSize }}\n"` | |
| 140 | + | batchMaxSize | Max batch size (hard limit is 1000) | int | `250` | |
137 | 141 | | cacheConfigTemplate | TOML configuration for cache | string | `"# Whether or not to enable caching.\nenabled = {{ .Values.cacheEnabled }}\n"` | |
138 | 142 | | cacheEnabled | Enable caching | bool | `false` | |
139 | 143 | | configTemplate | The configuration template that is rendered by Helm | string | See default template in [values.yaml](values.yaml) | |
@@ -172,7 +176,7 @@ We do not recommend that you upgrade the application by overriding `image.tag`. |
172 | 176 | | redisEnabled | Enable configuring Redis | bool | `false` | |
173 | 177 | | redisNamespace | Redis namespace to use for keys | string | `""` | |
174 | 178 | | redisUrl | URL to a Redis instance | string | `""` | |
175 | | - | rpcMethodMappings | Mapping JSON-RPC method name to a particular group of backends (method_name -> group_name) | object | `{"eth_blockNumber":"main","eth_call":"main","eth_chainId":"main","eth_coinbase":"main","eth_estimateGas":"main","eth_feeHistory":"main","eth_gasPrice":"main","eth_getBalance":"main","eth_getBlockByHash":"main","eth_getBlockByNumber":"main","eth_getBlockReceipts":"main","eth_getBlockTransactionCountByHash":"main","eth_getBlockTransactionCountByNumber":"main","eth_getCode":"main","eth_getFilterChanges":"main","eth_getLogs":"main","eth_getStorageAt":"main","eth_getTransactionByBlockHashAndIndex":"main","eth_getTransactionByBlockNumberAndIndex":"main","eth_getTransactionByHash":"main","eth_getTransactionCount":"main","eth_getTransactionReceipt":"main","eth_getUncleByBlockHashAndIndex":"main","eth_getUncleByBlockNumberAndIndex":"main","eth_newBlockFilter":"main","eth_newFilter":"main","eth_newPendingTransactionFilter":"main","eth_protocolVersion":"main","eth_sendRawTransaction":"main","eth_sendTransaction":"main","eth_sign":"main","eth_syncing":"main","eth_uninstallFilter":"main","net_peerCount":"main","net_version":"main","trace_block":"main","trace_call":"main","trace_callMany":"main","trace_filter":"main","trace_rawTransaction":"main","trace_replayBlockTransactions":"main","trace_replayTransaction":"main","trace_transaction":"main","web3_clientVersion":"main","web3_sha3":"main"}` | |
| 179 | + | rpcMethodMappings | Mapping JSON-RPC method name to a particular group of backends (method_name -> group_name) | object | `{"eth_blobBaseFee":"main","eth_blockNumber":"main","eth_call":"main","eth_chainId":"main","eth_coinbase":"main","eth_estimateGas":"main","eth_feeHistory":"main","eth_gasPrice":"main","eth_getBalance":"main","eth_getBlockByHash":"main","eth_getBlockByNumber":"main","eth_getBlockReceipts":"main","eth_getBlockTransactionCountByHash":"main","eth_getBlockTransactionCountByNumber":"main","eth_getCode":"main","eth_getFilterChanges":"main","eth_getLogs":"main","eth_getStorageAt":"main","eth_getTransactionByBlockHashAndIndex":"main","eth_getTransactionByBlockNumberAndIndex":"main","eth_getTransactionByHash":"main","eth_getTransactionCount":"main","eth_getTransactionReceipt":"main","eth_getUncleByBlockHashAndIndex":"main","eth_getUncleByBlockNumberAndIndex":"main","eth_newBlockFilter":"main","eth_newFilter":"main","eth_newPendingTransactionFilter":"main","eth_protocolVersion":"main","eth_sendRawTransaction":"main","eth_sendTransaction":"main","eth_sign":"main","eth_syncing":"main","eth_uninstallFilter":"main","net_peerCount":"main","net_version":"main","trace_block":"main","trace_call":"main","trace_callMany":"main","trace_filter":"main","trace_rawTransaction":"main","trace_replayBlockTransactions":"main","trace_replayTransaction":"main","trace_transaction":"main","web3_clientVersion":"main","web3_sha3":"main"}` | |
176 | 180 | | serverConfigTemplate | TOML configuration for server | string | `"# Host for the proxyd RPC server to listen on\nrpc_host = \"0.0.0.0\"\n# Port for the above.\nrpc_port = 8545\n# Host for the proxyd WebSocket server to listen on\nws_host = \"0.0.0.0\"\n# Port for the above.\nws_port = 8546\n# Maximum client body size, in bytes, that the server will accept\nmax_body_size_bytes = 10737420000 # 10 GiB\n# Maximum number of concurrent RPCs that the server will accept\nmax_concurrent_rpcs = 0 # unlimited\n# Timeout for requests\ntimeout_seconds = 300\n"` | |
177 | 181 | | serviceAccount.annotations | Annotations to add to the service account | object | `{}` | |
178 | 182 | | serviceAccount.create | Specifies whether a service account should be created | bool | `true` | |
|
0 commit comments