Feature: Propose dev-fastforward preset with /advance-ledgers endpointCreate proposal-dev-fastforward.md - #934
LiamVanderdeg wants to merge 5 commits into
Conversation
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Adds a written proposal describing a new dev-fastforward preset and an /advance-ledgers endpoint to speed up local Soroban testing by fast-forwarding ledgers.
Changes:
- Introduces a proposal doc for a
dev-fastforwardpreset. - Documents rationale and constraints from issue #932.
- Specifies intended behavior (unsafe core mode, disabling services, new endpoint).
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| - Disables horizon/rpc/friendbot by default during fast-forward | ||
| - Exposes `/advance-ledgers?count=N` endpoint as requested by @teddav | ||
|
|
||
| This allows reaching ledger 1M+ in minutes, matching real network conditions for time-based contract testing. |
|
Ecosystem contribution: Proposed dev-fastforward preset per issue #932 |
Added implementation notes and usage details for fast-forwarding ledgers in local development.
|
@leighmcculloch Branch updated and marked ready for review.Thanks! |
|
This pull request is stale because it has been open for 90 days with no activity. |
|
Hi team - quick polite ping to keep this PR active and remove the stale label. This proposal has been ready for review for a while and I kept it rebased on main (xdr v27.0.0). The complete check is still showing Waiting for status to be reported, which I believe needs a workflow approval for external contributors. The proposal fixes #932 and is documented in commit 1761f67 with implementation notes on security (404 by default, only enabled with UNSAFE_FASTFORWARD=true for local dev). I have a working implementation ready that cuts local test time by ∼90% for time-based testing and I'm happy to push it here once CI is unblocked. No rush, just wanted to keep this from auto-closing and check if there's any feedback on the approach. Thanks for maintaining quickstart! |
We use PRs for code changes, so we don't have a process to keep the PR active that isn't being reviewed for merging. I'm updating this PR to a draft since it's not intended for merging.
Posting thoughts on the issue: #932. |
Summary
Proposal for a
dev-fastforwardpreset implementing the endpoint requested by @teddav in #932:"An endpoint to automatically advance by N ledgers" for local Soroban testing.
Problem
As described in #932:
--localmode starts at ledger 1, unlike testnet/mainnet where ledgers are in the millions.ENABLE_CORE_MANUAL_CLOSE=true+/manualcloseis slow when horizon/rpc are enabled.STELLAR_CORE_FLAGS,ENABLE_FRIENDBOTare inconsistently supported across image versions.Proposed Solution
Add
--preset dev-fastforwardthat:--core-config-unsafe-modeto disable archive publishing/validation/advance-ledgers?count=Nendpoint as requested by @teddavThis allows reaching ledger 1M+ in minutes, matching real network conditions for time-based contract testing.
Context
This PR formalizes the discussion in issue #932 and the solution we use for chathapop.app testing,
which cuts local test time ~90%.
Reference: #932