📂 Separate ledgers page into entries and headers#2398
Conversation
There was a problem hiding this comment.
Pull request overview
Refactors the “Ledgers” fundamentals documentation to separate the conceptual landing page from the detailed specifications for ledger entries vs headers, and updates internal links/redirects to match the new structure.
Changes:
- Split the former single ledgers page into a
/ledgerslanding page plus dedicated/ledgers/entriesand/ledgers/headerspages. - Update doc links (and one nginx redirect) to point at the new ledgers sub-pages/README.
- Add the new routes to the site’s route listing.
Reviewed changes
Copilot reviewed 21 out of 21 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
| routes.txt | Adds routes for the new ledgers sub-pages (entries, headers). |
| nginx/includes/redirects.conf | Updates legacy encyclopedia redirect for ledger headers to the new fundamentals location. |
| i18n/es/docusaurus-plugin-content-docs/current/validators/README.mdx | Updates ledger link to the new ledgers README path. |
| i18n/es/docusaurus-plugin-content-docs/current/learn/glossary.mdx | Updates glossary “Ledgers section” link to the new ledgers README path. |
| i18n/es/docusaurus-plugin-content-docs/current/data/indexers/build-your-own/ingest-sdk/README.mdx | Updates ledgers references to the new ledgers README path. |
| i18n/es/docusaurus-plugin-content-docs/current/data/apis/rpc/api-reference/methods/README.mdx | Updates “Ledger Headers” reference to the new headers page path. |
| i18n/es/docusaurus-plugin-content-docs/current/data/analytics/hubble/analyst-guide/history-vs-state-tables.mdx | Updates “History Ledgers” link (but currently points to a non-existent target). |
| i18n/es/docusaurus-plugin-content-docs/current/build/smart-contracts/getting-started/storing-data.mdx | Updates ledgers link to the new ledgers README path. |
| i18n/es/docusaurus-plugin-content-docs/current/build/smart-contracts/example-contracts/storage.mdx | Updates ledgers link to the new ledgers README path. |
| docs/validators/README.mdx | Updates ledger link to the new ledgers README path. |
| docs/learn/glossary.mdx | Updates glossary “Ledgers section” link to the new ledgers README path. |
| docs/learn/fundamentals/stellar-data-structures/ledgers/headers.mdx | Adds new dedicated “Ledger Headers” page. |
| docs/learn/fundamentals/stellar-data-structures/ledgers/entries.mdx | Adds new dedicated “Ledger Entries” page. |
| docs/learn/fundamentals/stellar-data-structures/ledgers/category.json | Adds a category definition to make /ledgers a section with a linked landing doc. |
| docs/learn/fundamentals/stellar-data-structures/ledgers/README.mdx | Adds new ledgers landing page with DocCardList navigation. |
| docs/learn/fundamentals/stellar-data-structures/ledgers.mdx | Removes the previous monolithic ledgers page. |
| docs/data/indexers/build-your-own/ingest-sdk/README.mdx | Updates ledgers references to the new ledgers README path. |
| docs/data/apis/rpc/api-reference/methods/README.mdx | Updates “Ledger Headers” reference to the new headers page path. |
| docs/data/analytics/hubble/analyst-guide/history-vs-state-tables.mdx | Updates “History Ledgers” link (but currently points to a non-existent target). |
| docs/build/smart-contracts/getting-started/storing-data.mdx | Updates ledgers link to the new ledgers README path. |
| docs/build/smart-contracts/example-contracts/storage.mdx | Updates ledgers link to the new ledgers README path. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
can you bring in the new changes from |
Co-authored-by: Codex <noreply@openai.com>
ElliotFriend
left a comment
There was a problem hiding this comment.
this is a nice split, and you've done it quite well! have a few nitpicks and fact-checks throughout, but overall this is very close!
|
|
||
| ## Extension Flags | ||
|
|
||
| A field that validators can flip through `LEDGER_UPGRADE_FLAGS`, directly changing header flags bitmasks. Unlike the config settings above, these are not durable ledger entries with keys and tunable parameters. This feature can be extended like all of the [Ledger Entries](./entries.mdx) for arbitrary future expansion of network functions that could require an "emergency switch." |
There was a problem hiding this comment.
this overstates the capabilities of these extension flags. claiming they're useful for "arbitrary future expansion" is overselling a bit. sure, maybe someday it could be expanded to that state, but currently it's a fixed set of 3 flags for disabling various liquidity pool settings. you could even get into the specifics of what these flags are, if you want.
Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Codex <noreply@openai.com>
The network uses ledger headers and ledger entries for very different things. One has deep involvement in consensus, can change based on validator consensus, and is broadly up for active discussion, including recently. The latter acts as the basis for permanent blockchain information.
The current ledgers page combines them into a single narrative that mashes all that nuance onto one page. References in the docs remedy this by referring to section headers for one or the other paths. But the conglomerate is simply doing too much right now, from explaining what ledgers are conceptually to listing out SCP values.
I first ran into this problem with #763 and am actively working on a related structural organization point in #944. In this work, I've greatly expanded on the existing ledger entry docs, which have downstream implications for how you write them into the API specifications.1 It gives more specific reference points for important network concepts while maintaining the blanket
/ledgerslanding page and widely used URL:Footnotes
getLedgersis just the first of many endpoints that repeat ledger specification data that can be boiled down to a single reference. ↩