Feature request: simple option to fast-forward ledgers in --local mode

Open
#932 16 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
48/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
docker, shell
Domain
api, devops

Research direction

Start by tracing the --local startup path and the existing ENABLE_CORE_MANUAL_CLOSE and /manualclose flow. Check how Horizon, RPC, and friendbot are started in the container, then define an advancement mechanism that accepts N ledgers and works with the local stack. Done means local users can advance ledgers quickly without the manual two-phase workflow.

Written by the indexing model from the issue text.

Description

Quickstart is great for local development. It would be great to add a feature for advancing ledgers quickly.

What I'm trying to do

When testing against --local, the network starts at ledger 1, which doesn't look or behave much like testnet/mainnet (where ledger numbers are in the millions and time has visibly passed). I'd like a way to quickly fast-forward to a higher ledger number. Both for realistic UI testing and for exercising time-based contract logic without waiting a long time.

What I tried

I went down the ENABLE_CORE_MANUAL_CLOSE=true + curl /manualclose path. It works in principle but isn't really convenient:

  • Throughput is heavily bottlenecked when horizon/rpc are also enabled (their captive cores fall behind and constantly catch up). To get reasonable speed I had to disable everything except core, burn ledgers, then restart with horizon/rpc. But that two-phase workflow hits other rough edges: friendbot autostarts and crashes when horizon is disabled, taking down the container.
  • It's not obvious from the docs which env vars actually exist vs. don't. I tried things like STELLAR_CORE_FLAGS, ENABLE_FRIENDBOT, etc. that turned out to be silently ignored. The set of supported env vars and flags also seems to change between image versions, so older tutorials, or responses on Discord point at things that no longer work.

What would be ideal

An endpoint to automatically advance by N ledgers

Dominant language
Shell
Stars
222
Forks
236
Avg merge
1d 12h
Merged PRs (30d)
12

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from stellar/quickstart

All issues in stellar/quickstart

Similar issues

More Shell/Bash issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.