Releases: Layr-Labs/eigenda
EigenDA v0.2.3
Summary
This release includes improvements to monitoring/logging along with improvements around our authentication / rate-limiting functionality on the disperser. This release also includes minor bug fixes.
- Updates to how we tokenize the IP address in the disperser allowlist so that we can support IPv6 addresses.
- Add support for eth accounts in the disperser rate limiter.
- Adding a metric to track the # of blobs in the
PROCESSING
status allowing us to track when our system is under load. - On the EigenDA node we enabled an API that tracks the version running.
- Add more metrics around operator non signings (# of unsigned batches, total batches, percentage of signed batches).
What's Changed
- Add api for the percentage of unsigned batches monitoring by @wmb-software-consulting in #137
- Add eth accounts to allowlist by @mooselumph in #175
- fix typos by @buldazer23 in #184
- add utility to update socket by @shrimalmadhur in #188
- Make node api work and add node version by @shrimalmadhur in #197
- [node] Add more info on error logs by @ian-shim in #187
- Create a dynamodb collector by @dmanc in #190
- Fix: typo
Stoping
->Stopping
by @ian-shim in #206 - Compute the operator's time intervals during which the operator is live by @jianoaix in #198
- IP allowlist split token by @ian-shim in #205
- Handle the concurrency in the accounting of batch storing and validation by @jianoaix in #189
- Disperser server error logs by @ian-shim in #208
- Enable Multi-Quorum by @ian-shim in #204
New Contributors
- @buldazer23 made their first contribution in #184
Full Changelog: v0.2.2...v0.2.3
EigenDA v0.2.2
Summary
This release includes robustness and performance improvements on the disperser. Minor bug fixes and metrics are updated as well.
- The batching loop is no longer single-threaded. The onchain transaction are handled and monitored in a separate goroutine with speed ups if transactions aren't confirmed for an extended amount of time. This allows the existing timeout to be removed, prevents blobs from encoded/dispersed twice, and more time to be allocated for attestation.
- The encoding job throttles the number of blobs to be handled for each iteration. An encoding job, which runs periodically every 2s, retrieves request metadata and sends encoding requests to a set of encoders. Previously, it retrieved up to 1 MB of request metadata which routinely jammed the encoding throughput. Now it limits the number of request metadata to retrieve so that encoders can handle the load more gracefully.
- Several typo fixes
What's Changed
- Use
TxnManager
for onchain transactions by @ian-shim in #164 - Fix some typos by @vuittont60 in #163
- Add basic authentication classes by @mooselumph in #166
- Log quorum results by @ian-shim in #172
- [encodingstreamer] Consider blobs pending confirmation by @ian-shim in #169
- Add
TxnManager
metrics by @ian-shim in #170 - [Encoding ]Request with pagination by @siddimore in #157
- Fix: Properly handle gas fee bumps by @ian-shim in #173
- Add authenticated dispersal interface, client+server implementations by @mooselumph in #167
- [DynamodB] Fix Flaky Pagination UT by @siddimore in #174
- [TxnManager] Halt when speed up fails by @ian-shim in #179
- I corrected the typo (Update metrics.go) by @bolatfurkan in #182
- Transaction manager logging update by @ian-shim in #177
- Read MaxBlobsToFetchFromStoreFlag by @ian-shim in #181
- fix: repair outdated links in both code and docs by @krauspt in #185
- Cleanup: remove confirmer by @ian-shim in #183
- Fix: add disperser as a dependency to retriever by @ian-shim in #180
- Fix disperser client by @ian-shim in #186
New Contributors
- @vuittont60 made their first contribution in #163
- @bolatfurkan made their first contribution in #182
- @krauspt made their first contribution in #185
Full Changelog: v0.2.1...v0.2.2
EigenDA v0.2.1
What's Changed
- Handle unconfirmed blobs in blob feed fetch by @jianoaix in #142
- Update health check to use default implementation by @dmanc in #149
- Raise blob size limit by @jianoaix in #148
- chore(core): typo fix by @GakiBash in #135
- CHORE:fix http link jump by @bodhi-crypo in #153
- [encodingstreamer] Validate quorums by @ian-shim in #109
- Memoize and log operator addresses by @ian-shim in #154
- [2/N] Batch transactor: Transaction manager to monitor/update pending transactions by @ian-shim in #107
- Allowlist with specified rate limits by @ian-shim in #156
- [DynamodB] Add Pagination and limit by @siddimore in #155
- Stop indexer in inabox test cleanup to suppress logs by @mooselumph in #165
- nit: fix spelling by @shrimalmadhur in #168
- Use
TxnManager
for onchain transactions by @ian-shim in #164 - Fix some typos by @vuittont60 in #163
New Contributors
- @GakiBash made their first contribution in #135
- @bodhi-crypo made their first contribution in #153
- @vuittont60 made their first contribution in #163
Full Changelog: v0.2.0...v0.2.1
EigenDA v0.2.0
Summary
The main theme of this release is to accommodate solo operators, with notable changes including node validation performance, chunk assignment upgrade and rollup blob rate limiting.
NOTE: This is an incompatible release, meaning this will not work with previous node software versions. Operators will have to upgrade the node to v0.2.0 in order to continue to validate. See the node upgrade guide.
- Upgraded the EigenDA chunk assignment protocol: it drops the quantization factor and instead uses max num of chunks as the parameter to adjust the chunk length. The adjustment of num chunks and chunk length is to make sure chunks produced and assigned to operators are commensurate with their stake share, which is important for solo stakers.
- Significantly improved the the DA node validation performance: the cryptographic validation efficiency substantially improved via use of Universal Verification Equation, opening the door to future reductions in node hardware requirements.
- Added rollup blob rate limiting feature at disperser: the disperser can now rate limit the total blob rate and per-rollup blob rate (in blobs/sec).
- Added CLI command to support quorum update: operators can now run "update-quorums" with CLI to update the quorums they participate in.
- UX fixes to improve operator experiences, including: more readable error message from churner, more accurate metrics at node, auto correction of IP when registering with incorrect IP etc.
As part of v0.2.0, we also released the hardware recommendation for small and medium operators, see EigenDA node classes.
What's Changed
- Add a new metric so total batches and removed batches are aligned by @jianoaix in #120
- Don't memoize eth client TransactOpts by @ian-shim in #105
- [1/N] Batch transactor: wait for n confirmations for a transaction by @ian-shim in #99
- Add IP allowlist for testing throughput by @ian-shim in #122
- set default number of confirmations to 0 by @ian-shim in #126
- Node batch verification by @bxue-l2 in #94
- Add CLI flag for setting churner connection secure status by @mooselumph in #125
- Add graph indexer to retriever by @mooselumph in #124
- Log confirmBatch calldata by @ian-shim in #128
- Log parameters for call to GetCheckSignaturesIndices by @ian-shim in #129
- Log signature aggregation and non signer pubkeys by @ian-shim in #130
- Fix G1 point hashing by padding G1 point before hashing by @ian-shim in #132
- Add lowest/total stake in error message by @jianoaix in #133
- Add update quorums operation to node plugin by @wmb-software-consulting in #93
- Get a list of operators which exited the system (either due to opt-out, churn, or booting) within the last 14 days. by @wmb-software-consulting in #131
- Fix node plugin integration tests by @wmb-software-consulting in #138
- Add blob ratelimit by @mooselumph in #121
- chore: update log message to avoid confusion by @shrimalmadhur in #139
- Auto correct the IP if the operator set their IP to localhost when opt-in by @wmb-software-consulting in #136
- Updated assignments by @mooselumph in #127
- Update spec to reflect new assignments by @mooselumph in #134
New Contributors
- @tudorpintea999 made their first contribution in #98
- @joaolago1113 made their first contribution in #111
- @shrimalmadhur made their first contribution in #139
Full Changelog: v0.1.2...v0.2.0
EigenDA v0.1.3
What's Changed
- fix: several typos in the documentation by @tudorpintea999 in #98
- Validate chunks in retrieval client by @ian-shim in #82
- add ack by @bxue-l2 in #106
- [metrics] Export batch failure reasons by @ian-shim in #108
- Proofreading the Project's Documentation by @joaolago1113 in #111
- Fix issues with throughput negative value by @wmb-software-consulting in #96
- Add ConfirmationTxnHash to feed blobs response by @wmb-software-consulting in #72
- Improve documentation and error msg of the churner by @jianoaix in #114
- Track num deleted batches with counter rather than num active batches by @jianoaix in #115
- Make built-in indexer work for retrieval client by @wmb-software-consulting in #110
New Contributors
- @tudorpintea999 made their first contribution in #98
- @joaolago1113 made their first contribution in #111
Full Changelog: v0.1.2...v0.1.3
EigenDA v0.1.2
What's Changed
- Fix dockerfile compilation by @dmanc in #69
- Fix typos in docs by @pandabadger in #54
- Create README.md for api docs root folder by @wesfloyd in #60
- Update numProxies to 2 on the disperser by @dmanc in #73
- Update dockerfile location for node plugin by @dmanc in #75
- Log message improvements by @jianoaix in #70
- Fix encoding queue limit test by @ian-shim in #74
- Clean up error logs by @ian-shim in #84
- Fix the bytes accounting at DA Node by @jianoaix in #85
- include deploy resources flag by @bxue-l2 in #86
- Use int64 for size in bytes accounting by @jianoaix in #90
- Fix the accounting for batch size by @jianoaix in #88
- Fix CI failure by @jianoaix in #91
- [metrics] Add metrics for encoded blobs by @ian-shim in #76
- Update encoded blob store size properly by @ian-shim in #71
- [finalizer] Handle forked transactions by @ian-shim in #89
- Refactor transaction builder by @ian-shim in #92
- [Synthetic Client] Add retrieval client by @siddimore in #95
New Contributors
- @pandabadger made their first contribution in #54
- @wesfloyd made their first contribution in #60
- @bxue-l2 made their first contribution in #86
Full Changelog: v0.1.1...v0.1.2
EigenDA v0.1.1
Summary
This is a patch release, which includes
- The data access API server enhancement: it now returns the total stake in the operator network, the gas cost per byte, and makes sure the blob feed is ordered by <batchID, blobIndex>
- Improved the Client IP detection so it works when there are multi proxies
- Improved the encoder to remove confirmed blobs
- Fixed misc log message, metrics, unit tests
Changelog
- Use existing context when submitting transaction by @ian-shim in #33
- Update metrics by @ian-shim in #32
- Fix the blob metrics fetch in data api by @jianoaix in #40
- Sort blobs feed by batchID/BlobIndex and return Cost in Gas instead of WEI by @wmb-software-consulting in #35
- Client IP detection (#30) by @mooselumph in #34
- [node] Churner TLS by @ian-shim in #46
- Disable stake calculation by @jianoaix in #48
- Remove encoded blob if confirmed by @ian-shim in #41
- Compute the stake by quorums by @jianoaix in #37
- Efficient-unit-tests by @mooselumph in #50
- Update eigenlayer-middleware by @0x0aa0 in #52
- Uncapitalize error strings by @estensen in #44
- [GithubAction] Push Operator Node Images by @siddimore in #51
- Run test coverage report on master only by @jianoaix in #65
- Update preprod test contracts to latest deployment by @dmanc in #66
- Improve the log message in node by @jianoaix in #64
- Separate api/ into its own module to avoid dep hell by @teddyknox in #62
- Reconcile project structure by @mooselumph in #53
New Contributors
- @0x0aa0 made their first contribution in #52
- @estensen made their first contribution in #44
- @siddimore made their first contribution in #51
- @teddyknox made their first contribution in #62
Full Changelog: https://github.com/Layr-Labs/eigenda/commits/v0.1.1
EigenDA v0.1.0 - First Release
The first release of EigenDA, a secure, high-throughput, and decentralized data availability (DA) service built on top of Ethereum using the EigenLayer restaking primitives. Please check out README for more details.