Summary
This release is optional but recommended.
The release also contains breaking changes on the ENVs and flag initialization when starting the binary, please refer to the table at the end for the mapping from the old to the new flags and ENV. This release also affects the existing way to run a docker container, please see the section at the end for instruction.
Notable changes
Revamp Flags
-
Flags now are categorized and ENVs comply with standard prefixes
-
Using old flags will prompt with an error message pointing out the new ENV name
-
Making DA cert verification enabled by default
Container initialization
- Update command line to run eigenda-proxy with docker
Feature
- Add Redis backend option for both S3 cache or fallback
- Add metrics to EigenDA proxy for GET and PUT
Bug fixes
- Fix issues with Google Cloud Storage
- Simplify logics for waiting for batch finalization
Instruction to run docker container
Before the 1.5.0 release docker run eigenda-proxy:latest ./eigenda-proxy
After the 1.5.0 release docker run eigenda-proxy:latest
Flags and ENV mapping
If any old flag is supplied, the binary will break loudly and print the updated ENV name, for example,
lvl=crit msg="Application failed" message="env var MEMSTORE_EXPIRATION is deprecated for flag memstore.expiration, use EIGENDA_PROXY_MEMSTORE_EXPIRATION instead"
Old flag (1.4.1) | old env | new flag | new env |
---|---|---|---|
--eigenda-cache-path | EIGENDA_PROXY_TARGET_CACHE_PATH | --eigenda.cache-path | EIGENDA_PROXY_EIGENDA_TARGET_CACHE_PATH |
--eigenda-custom-quorum-ids | EIGENDA_PROXY_CUSTOM_QUORUM_IDS | --eigenda.custom-quorum-ids | EIGENDA_PROXY_EIGENDA_CUSTOM_QUORUM_IDS |
--eigenda-disable-point-verification-mode | EIGENDA_PROXY_DISABLE_POINT_VERIFICATION_MODE | --eigenda.disable-point-verification-mode | EIGENDA_PROXY_EIGENDA_DISABLE_POINT_VERIFICATION_MODE |
--eigenda-disable-tls | EIGENDA_PROXY_GRPC_DISABLE_TLS | --eigenda.disable-tls | EIGENDA_PROXY_EIGENDA_GRPC_DISABLE_TLS |
--eigenda-disperser-rpc | EIGENDA_PROXY_EIGENDA_DISPERSER_RPC | --eigenda.disperser-rpc | EIGENDA_PROXY_EIGENDA_DISPERSER_RPC |
--eigenda-put-blob-encoding-version | EIGENDA_PROXY_PUT_BLOB_ENCODING_VERSION | --eigenda.put-blob-encoding-version | EIGENDA_PROXY_EIGENDA_PUT_BLOB_ENCODING_VERSION |
--eigenda-response-timeout | EIGENDA_PROXY_RESPONSE_TIMEOUT | --eigenda.response-timeout | EIGENDA_PROXY_EIGENDA_RESPONSE_TIMEOUT |
--eigenda-signer-private-key-hex | EIGENDA_PROXY_SIGNER_PRIVATE_KEY_HEX | --eigenda.signer-private-key-hex | EIGENDA_PROXY_EIGENDA_SIGNER_PRIVATE_KEY_HEX |
--eigenda-status-query-retry-interval | EIGENDA_PROXY_STATUS_QUERY_INTERVAL | --eigenda.status-query-retry-interval | EIGENDA_PROXY_EIGENDA_STATUS_QUERY_INTERVAL |
--eigenda-status-query-timeout | EIGENDA_PROXY_STATUS_QUERY_TIMEOUT | --eigenda.status-query-timeout | EIGENDA_PROXY_EIGENDA_STATUS_QUERY_TIMEOUT |
--eigenda-eth-confirmation-depth | EIGENDA_PROXY_ETH_CONFIRMATION_DEPTH | --eigenda.eth-confirmation-depth | EIGENDA_PROXY_EIGENDA_ETH_CONFIRMATION_DEPTH |
--eigenda-eth-rpc | EIGENDA_PROXY_ETH_RPC | --eigenda.eth-rpc | EIGENDA_PROXY_EIGENDA_ETH_RPC |
--eigenda-g1-path | EIGENDA_PROXY_TARGET_KZG_G1_PATH | --eigenda.g1-path | EIGENDA_PROXY_EIGENDA_TARGET_KZG_G1_PATH |
--eigenda-g2-tau-path | EIGENDA_PROXY_TARGET_G2_TAU_PATH | --eigenda.g2-power-of-2-path | EIGENDA_PROXY_EIGENDA_TARGET_KZG_G2_POWER_OF_2_PATH |
--eigenda-max-blob-length | EIGENDA_PROXY_MAX_BLOB_LENGTH | --eigenda.max-blob-length | EIGENDA_PROXY_EIGENDA_MAX_BLOB_LENGTH |
--eigenda-svc-manager-addr | EIGENDA_PROXY_SERVICE_MANAGER_ADDR | --eigenda.svc-manager-addr | EIGENDA_PROXY_EIGENDA_SERVICE_MANAGER_ADDR |
--memstore.enabled | MEMSTORE_ENABLED | --memstore.enabled | EIGENDA_PROXY_MEMSTORE_ENABLED |
--memstore.expiration | MEMSTORE_EXPIRATION | --memstore.expiration | EIGENDA_PROXY_MEMSTORE_EXPIRATION |
What's Changed
- Feat memstore artificial latency by @samlaf in #114
- chore: rename memstore eventLoop -> pruningLoop by @samlaf in #117
- BREAKING suggestion: change dockerfile to use entrypoint instead of cmd by @samlaf in #116
- Chore give docker image fullname by @samlaf in #119
- feat: Redis backend target by @epociask in #111
- Update Makefile: add disperse-test-blob by @samlaf in #115
- chore(breaking): add EIGENDA_PROXY prefix to memstore flags by @samlaf in #121
- fix: wrap crit entrypoint error for easier debugging by @samlaf in #122
- fix: negative confDepth bug in verifier by @samlaf in #131
- fix: request record label with commitment mode and version by @hopeyen in #109
- chore: bunch of small refactors for improved devex by @samlaf in #124
- Fix s3 panic from keccak commitment put requests by @samlaf in #129
- dep: update eigenda to latest version for latest eigenda-client logging behavior by @samlaf in #132
- Fix metric middleware panic by @samlaf in #133
- fix: HandlePut uses hardcoded default version by @hopeyen in #135
- chore: remove unused tls logic by @samlaf in #139
- Eigenda client subsystem logger by @samlaf in #136
- initial set of edge cases by @anupsv in #110
- fix: custom error wrapped around error and commitment meta by @hopeyen in #134
- fix: Return 400 when blobs exceed max limit by @epociask in #140
- Fix config checker logic by @samlaf in #138
- show response commitment by @bxue-l2 in #144
- rename commitment mode by @bxue-l2 in #151
- ci: give holesky-test workflow access to secrets via pull_request_target by @samlaf in #153
- Update Optimism dependency to OP-Stack 1.9.2 by @karlb in #150
- refactor: clean up flags and configs by @samlaf in #146
- feat: update eigenda latest release v0.8.4 by @samlaf in #158
- fix: verifier srs flags paths by @samlaf in #159
- fix: import and expose the verifier flags by @samlaf in #161
- fix: don't allow to configure fallback or cache with nil Redis|S3 ins… by @mcortesi in #155
- Added --s3.enable-tls flag by @jcortejoso in #148
- chore: Don't return commitment for OP Keccak256 mode on PUT requests by @epociask in #147
- chore: add deprecated flags to force early crash when used by @samlaf in #165
- update readme and template by @bxue-l2 in #170
- hide eth rpc, format hidden string by @bxue-l2 in #171
- docs: better usage docs for signer-private-key flag by @samlaf in #174
- Disable chunk encoding for
put
requests to Google Cloud Storage by @jcortejoso in #167 - fix env variable in docker compose by @bxue-l2 in #180
New Contributors
- @hopeyen made their first contribution in #109
- @anupsv made their first contribution in #110
- @mcortesi made their first contribution in #155
- @jcortejoso made their first contribution in #148
Full Changelog: v1.4.1...v1.5.0