Skip to content

Conversation

@fakedev9999
Copy link
Member

Reduces RPC concurrency to prevent rate limit errors in validity proposer.

op-succinct proposer was making up to 2,000 concurrent RPC calls when creating range proof requests, causing HTTP 429 rate limit errors from l2 nodes. With 1800-block ranges, this resulted in 36,000 total RPC calls for 10 range requests in a burst.

Reduced concurrency of block data fetching from 100 to 10 concurrent blocks

This limits peak concurrent RPC calls to 100 instead of 2,000, preventing rate limit errors while maintaining reasonable performance and stability of the proposer.

@github-actions
Copy link
Contributor

Metric Value
Batch Start 7,377,756
Batch End 7,377,761
Witness Generation (seconds) 0
Execution Duration (seconds) 57
Total Instruction Count 1,370,174,182
Oracle Verify Cycles 155,254,039
Derivation Cycles 1,092,725,878
Block Execution Cycles 7,169,689
Blob Verification Cycles 23,288,884
Total SP1 Gas 1,972,611,370
Number of Blocks 5
Number of Transactions 5
Ethereum Gas Used 239,168
Cycles per Block 274,034,836
Cycles per Transaction 274,034,836
Transactions per Block 1
Gas Used per Block 47,833
Gas Used per Transaction 47,833
BN Pair Cycles 0
BN Add Cycles 0
BN Mul Cycles 0
KZG Eval Cycles 0
EC Recover Cycles 0
P256 Verify Cycles 0

@fakedev9999 fakedev9999 merged commit ce454dd into main Sep 12, 2025
13 checks passed
@fakedev9999 fakedev9999 deleted the taehoon/reduce-rpc-concurrency branch September 12, 2025 21:50
@Hamzaraza351
Copy link

Great but don't give so much

karlb added a commit to celo-org/op-succinct that referenced this pull request Sep 19, 2025
* chore: support contract verification for fp (succinctlabs#555)

* feat: validate agg (succinctlabs#552)

* test: improve e2e testing with anvil (succinctlabs#549)

* ci: add link + spell checker (succinctlabs#564)

* ci: add link + spell checker

* ci: remove recursive submodules checkout

* docs: use different link for spn

* feat: Add comprehensive logging for range and aggregation proof requests (succinctlabs#560)

* add : essential logs for range+agg proofs

* chg : if/else into match

---------

Co-authored-by: Yuwen Zhang <[email protected]>

* chore: bump kona (succinctlabs#554)

* chore: bump kona

* refac: avoid allocations when handling input

* refac: avoid alloc + clone

* chore: nits

* feat: prove task improvements (succinctlabs#558)

* feat: add game prove metrics

* feat: add fast finality proving limit

* chore: nit fixes

* feat: improve fault proof (succinctlabs#563)

* feat: improve game resolution

* feat(fault-proof): separate bond claiming by mode

* docs: fix typo

* feat: set jemalloc as global allocator

* feat: update to support celestia indexer changes (succinctlabs#561)

* feat: update to support celestia indexer changes

See celestiaorg/optimism#502.
Now handles batcher that switch between DA layers.

* chore: fix logger init

* chore: bump hana for v4 compatibility

* chore: bump celestia range elf

* chore: pin nightly rust toolchain (succinctlabs#580)

* dummy

* pin nightly version

* feat: audit fix (succinctlabs#575)

* tests pass, fixes in

* proposer is running locally

* fix test, still broken though

* more detailed error

* jank proxy

* wrapper solution instead

* cleanup

* fix silly errors;

* tweak forge test

* docs for dgfProposeL2Output;

* spot=false

* bump elf

* nits + docs

* add audit + pin nightly toolchain

* chore: unify binary name for celestia docker image (succinctlabs#577)

* feat: improve op-succinct-lite (succinctlabs#583)

* chore: add features support to deploy-fdg-contracts in justfile

* feat(contracts): add missing getters for public values

* fix: use end exclusive range (succinctlabs#585)

* fix: end exclusive range

See https://docs.celestia.org/how-to-guides/blobstream-proof-queries.

* refactor(scripts): host method for starting block

* refac: handle when None returned

* change for fetch-l2oo-config as well

* chore: bump hana (succinctlabs#578)

* feat: add cycles + prover gas metrics (succinctlabs#579)

* feat: add cycles + prover gas metrics

Also improved logging for better vis and debugging.

* chore: make fmt happy

* chore: apply comments

* docs: update spn usage (succinctlabs#592)

* docs: make update parameters flow more clear (succinctlabs#590)

* fix

* doc nits

* fix: kzg verification 3.1.0 (succinctlabs#594)

* fix

* refresh gh

* chore: range proof insertion log to debug

* docs: L2 node latency + cleanup (succinctlabs#598)

* add dev section to readme

* doc pass

* chore: bump to op-contracts v3.0.0 (succinctlabs#600)

* test: fix e2e test (succinctlabs#605)

* fix(validity): request deadline (succinctlabs#604)

* fix(validity): request deadline

* fix(fault-proof): request deadline

* fix: add 1T gas limit

The DEFAULT_GAS_LIMIT is 1B.

* fix: add 4h timeout to agg proof request as well

---------

Co-authored-by: fakedev9999 <[email protected]>

* feat: add op-celestia-indexer to docker compose (succinctlabs#601)

* docs: add missing CELESTIA_INDEXER_RPC

* feat: add op-celestia-indexer to docker compose

* docs: update docs

* fix healthcheck

* docs: add warning for proof window

* docs: udpate start l1 block and op-celestia-indexer

* fix(contracts): upgrade, missing proxy in calldata for proxy admin managed instance (not naked proxies) (succinctlabs#606)

* fix(contracts): upgrade, missing proxy in calldata for proxy admin managed instance (not naked proxies)

* chore: forge fmt

* refac(contracts): use abi.encodeCall

---------

Co-authored-by: emiliano-conduitxyz <[email protected]>

* feat: support eigenda (succinctlabs#572)

* feat: support eigenda

Bumps sp1, hana, hokulea for kona-client/v1.0.2 with MSRV 1.86.

* ci: install sp1 toolchain

* chore: bump elfs

* fix: write proof to stdin for proof agg

* fix: bump hokulea + hardcoded vkey + defer verification

* fmt

* bump elfs

* feat: docker for eigenda

* refac: extract proof bytes from witness data

* refac: remove executor placeholder

* chore: download srs from proxy image

* docs: add eigenda docs

* chore: bump hokulea

* make ci green

* skip canoe proof generation

* chore: bump hokulea

* bump hokulea to support mock mode for sp1-cc proving

* fix: reduce RPC concurrency to prevent rate limit errors (succinctlabs#608)

* chore: remove unused code

* fix: reduce RPC concurrency to prevent rate limit errors

* chore: bump hana to v1.0.0 (succinctlabs#612)

* chore: add missing eigenda flag (succinctlabs#610)

* Fix issues noticed by bugbot

* Update ELF files

* Fix contract deployment.

* Cleanup.

* Revert switch out of CeloSingleChainHost

* Remove commented out line

* Fix formatting

---------

Co-authored-by: fakedev9999 <[email protected]>
Co-authored-by: Yuwen Zhang <[email protected]>
Co-authored-by: SHIVAM SHARMA <[email protected]>
Co-authored-by: Ernesto Ramirez <[email protected]>
Co-authored-by: Chris T. <[email protected]>
Co-authored-by: emiliano-conduitxyz <[email protected]>
Co-authored-by: Mc01 <[email protected]>
Co-authored-by: Piers Powlesland <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants