Skip to content

Commit bae3bde

Browse files
Copilotjcsteingithub-advanced-security[bot]
authored
feat: Add a link checker (#2065)
* Initial plan for issue * Add lychee link checker configuration and CI workflow Co-authored-by: jcstein <46639943+jcstein@users.noreply.github.com> * Update link checker config and fix broken internal link Co-authored-by: jcstein <46639943+jcstein@users.noreply.github.com> * Potential fix for code scanning alert no. 12: Workflow does not contain permissions Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> * Update link checker config to exclude failing links per review feedback Co-authored-by: jcstein <46639943+jcstein@users.noreply.github.com> * docs: remove based64 demo * Apply suggestions from code review * Update Polkachu link to point to testnets snapshots page Co-authored-by: jcstein <46639943+jcstein@users.noreply.github.com> * Apply suggestions from code review * Fix missing text at beginning of sentence in data availability FAQ Co-authored-by: jcstein <46639943+jcstein@users.noreply.github.com> * Fix CI link checker issues by expanding exclusion patterns Co-authored-by: jcstein <46639943+jcstein@users.noreply.github.com> * Fix CI link checker issues and resolve merge conflicts Co-authored-by: jcstein <46639943+jcstein@users.noreply.github.com> * Revert excessive exclusions and add only essential link exclusions Co-authored-by: jcstein <46639943+jcstein@users.noreply.github.com> * Fix prettier formatting issue in snapshots.md table Co-authored-by: jcstein <46639943+jcstein@users.noreply.github.com> * Update link checker configuration and remove Astria links per CI feedback Co-authored-by: jcstein <46639943+jcstein@users.noreply.github.com> * Restore Astria menu with Documentation link per request Co-authored-by: jcstein <46639943+jcstein@users.noreply.github.com> * Remove broken links from deprecated BlobstreamX documentation Co-authored-by: jcstein <46639943+jcstein@users.noreply.github.com> * Apply suggestions from code review * Apply suggestions from code review * Apply suggestions from code review --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: jcstein <46639943+jcstein@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
1 parent d08dfe8 commit bae3bde

15 files changed

Lines changed: 788 additions & 7523 deletions

.github/workflows/link-check.yml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: Link Checker
2+
3+
permissions:
4+
contents: read
5+
6+
on:
7+
push:
8+
branches: [main]
9+
pull_request:
10+
schedule:
11+
# Run weekly on Monday at 9 AM UTC
12+
- cron: '0 9 * * 1'
13+
14+
jobs:
15+
link-check:
16+
runs-on: ubuntu-latest
17+
steps:
18+
- name: Checkout
19+
uses: actions/checkout@v4
20+
21+
- name: Link Checker
22+
uses: lycheeverse/lychee-action@v2
23+
with:
24+
# Fail action on broken links
25+
fail: true
26+
# Use the lychee.toml config file
27+
args: --config lychee.toml --verbose '**/*.md' '.vitepress/config.ts'
28+
# Optional: set a token for GitHub API access to avoid rate limiting
29+
token: ${{ secrets.GITHUB_TOKEN }}

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ node_modules
88
.temp
99
.vite_opt_cache
1010
.vscode
11+
.lycheecache
1112

1213
# Go build artifacts
1314
go.sum

.vitepress/config.ts

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ const telegramSVG = ` <svg width="24" height="24" viewBox="0 0 24 24" fill="none
66

77
const { BASE: base = "/" } = process.env;
88

9-
// https://vitepress.dev/concepts/site-config
9+
// VitePress site configuration
1010
export default {
1111
lang: "en-US",
1212
title: "Celestia Docs",
@@ -111,7 +111,7 @@ export default {
111111
],
112112

113113
themeConfig: {
114-
// https://vitepress.dev/concepts/default-theme-config
114+
// VitePress default theme configuration
115115
nav: nav(),
116116
outline: {
117117
level: "deep",
@@ -490,7 +490,7 @@ function sidebarHome() {
490490
},
491491
{
492492
text: "Datastore structure",
493-
link: "how-to-guides/celestia-node-store-structure",
493+
link: "/how-to-guides/celestia-node-store-structure",
494494
},
495495
{
496496
text: "Troubleshooting",
@@ -593,10 +593,6 @@ function sidebarHome() {
593593
collapsed: true,
594594
items: [
595595
{ text: "Documentation", link: "https://docs.astria.org" },
596-
{
597-
text: "Just deploy",
598-
link: "https://docs.astria.org/developer/tutorials/install-the-cli",
599-
},
600596
],
601597
},
602598
{

README.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,17 @@ yarn && yarn dev
2222

2323
This documentation site is built with [VitePress](https://vitepress.dev)
2424

25+
## Link checking
26+
27+
To check for broken links in the documentation, run:
28+
29+
```bash
30+
yarn link-check
31+
```
32+
33+
This uses [lychee](https://lychee.cli.rs/) to validate all internal and external links.
34+
The link checker is also run automatically in CI on every push and pull request.
35+
2536
## Contribution Guidelines
2637

2738
We love contributions from the community! Whether you're fixing typos,

how-to-guides/blobstream-x-requesting-data-commitment-ranges.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,7 @@ header range proof.
4848
## Request proofs from the Succinct platform
4949

5050
> **_NOTE:_** Requesting a proof from the succinct platform requires
51-
> having a Succinct API key. It can be requested using
52-
> this [form](https://alpha.succinct.xyz/partner).
51+
> having a Succinct API key.
5352
5453
Run the Blobstream X operator with hosted proving on the Succinct
5554
platform, by running an operator script that pings the platform with
@@ -63,8 +62,7 @@ Here are example values for the `.env` file:
6362
1. `TENDERMINT_RPC_URL` from
6463
[the public Celestia list](https://docs.celestia.org/how-to-guides/mainnet#integrations).
6564
2. `SUCCINCT_RPC_URL` = `https://alpha.succinct.xyz/api`
66-
3. Request for `SUCCINCT_API_KEY` from
67-
[the Succinct team](https://alpha.succinct.xyz/partner).
65+
3. Request for `SUCCINCT_API_KEY` from the Succinct team.
6866
4. `CHAIN_ID` is the chain ID of the deployed Blobstream X contract.
6967
5. `CONTRACT_ADDRESS`: Blobstream X proxy contract address.
7068
6. `NEXT_HEADER_FUNCTION_ID` & `HEADER_RANGE_FUNCTION_ID`: Get the

how-to-guides/blobstreamx.md

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ You can [find the repository for Blobstream X](https://github.com/succinctlabs/b
3232
along with code for:
3333

3434
- [The Blobstream X smart contract - `BlobstreamX.sol`](https://github.com/succinctlabs/blobstreamx/blob/main/contracts/src/BlobstreamX.sol)
35-
- [The Blobstream X circuits](https://alpha.succinct.xyz/celestia/blobstreamx)
35+
- The Blobstream X circuits
3636
- [The Blobstream X contract Golang bindings](https://github.com/succinctlabs/blobstreamx/blob/main/bindings/BlobstreamX.go)
3737

3838
:::tip NOTE
@@ -57,24 +57,21 @@ X contract is through the `SuccinctGateway` smart contract, which is a
5757
simple entrypoint contract that verifies proofs (against a deployed
5858
onchain verifier for the Blobstream X circuit) and then calls the
5959
`BlobstreamX.sol` contract to update it.
60-
[Find more information about the `SuccinctGateway`](https://docs.succinct.xyz/platform/onchain-integration#succinct-gateway).
6160

6261
![blobstream x overview diagram draft](/img/blobstream/Celestia_Blobstream_X2b.png)
6362

6463
<!-- markdownlint-disable MD042 -->
6564

6665
:::tip NOTE
6766
If the Blobstream X contract is not deployed on a desired chain,
68-
it needs to be deployed before it can be used by your rollup. See the
69-
[deployment documentation](https://docs.succinct.xyz/platform/onchain-integration#non-canonical-chain-contract-deployment)
70-
for more details.
67+
it needs to be deployed before it can be used by your rollup.
7168
:::
7269

7370
## Deploy Blobstream X
7471

7572
It is possible to deploy and maintain a Blobstream x instance and have the same security guarantees.
7673

77-
First, you will need to create a multisig that governs the Blobstream X contract and also the function identifiers. The function identifiers can be registered in the [Succinct gateway](https://docs.succinct.xyz/platform/onchain-integration#register-circuits-with-your-deployed-succinct-gateway).
74+
First, you will need to create a multisig that governs the Blobstream X contract and also the function identifiers.
7875

7976
Then, check the [deployment](https://github.com/succinctlabs/blobstreamx/blob/main/README.md#blobstreamx-contract-overview) documentation for how to deploy the contract.
8077

how-to-guides/celestia-app-multisig.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,6 @@ celestia-appd tx multisign unsignedTx.json multisig \
6666

6767
## Resources
6868

69-
- <https://docs.cosmos.network/main/user/run-node/multisig-guide#step-by-step-guide-to-multisig-transactions>
7069
- <https://figment.io/insights/how-to-multi-sig-on-cosmos/>
7170
- <https://github.com/aura-nw/Aura-Safe>
7271
- <https://github.com/informalsystems/multisig>

how-to-guides/snapshots.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ Their services include installation scripts, state sync, snapshots, RPC endpoint
4949
| ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------- |
5050
| Stake Town | [Pruned](https://services.stake-town.com/home/mainnet/celestia/sync) | - |
5151
| ITRocket | [Pruned](https://itrocket.net/services/mainnet/celestia/)[Archive](https://itrocket.net/services/mainnet/celestia/) | [Archive](https://itrocket.net/services/mainnet/celestia/) |
52-
| Polkachu | [Pruned](https://polkachu.com/tendermint_snapshots/celestia) [Archive](https://polkachu.com/archive_snapshots/celestia/) | - |
52+
| Polkachu | [Pruned](https://polkachu.com/tendermint_snapshots/celestia) | - |
5353
| kjnodes | [Pruned](https://services.kjnodes.com/mainnet/celestia/snapshot/)[Archive](https://services.kjnodes.com/mainnet/celestia/snapshot-archive/) | - |
5454
| Tienthuattoan | [Pruned](https://services.tienthuattoan.com/mainnet/celestia/snapshot) | - |
5555
| Noders | [Pruned](https://noders.services/mainnet-networks/celestia/snapshot/) | - |

how-to-guides/sp1-blobstream-deploy.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ cd sp1-blobstream
2626
[sp1-blobstream README](https://github.com/succinctlabs/sp1-blobstream?tab=readme-ov-file#deployment).
2727

2828
3. If you're deploying on a chain where there isn't a canonical verifier listed in the
29-
[SP1 contract addresses](https://github.com/succinctlabs/sp1/blob/main/book/verification/onchain/contract-addresses.md), you'll need to:
29+
[deployed contracts](/how-to-guides/blobstream#deployed-contracts), you'll need to:
3030

3131
a. Deploy your own SP1 Verifier from the [sp1-contracts](https://github.com/succinctlabs/sp1-contracts) matching your `sp1-sdk` version.
3232
b. Set the `SP1_VERIFIER_ADDRESS` in your `.env` file to the address of your deployed verifier.

learn/how-celestia-works/data-availability-faq.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -131,8 +131,7 @@ Up until now it’s been all about transaction data, but blockchain state is a
131131
related topic. The state is different from transaction data. Specifically, the
132132
state is like a current snapshot of the network, which includes information
133133
about account balances, smart contract balances, and validator set info.
134-
[Problems that arise](https://forum.celestia.org/t/the-state-growth-problem-in-a-modular-blockchain-ecosystem/325)
135-
from the size of the state are different in nature than those around
134+
Problems that arise from the size of the state are different in nature than those around
136135
data availability and retrievability.
137136

138137
## Why doesn’t Celestia incentivize storage of historical data?

0 commit comments

Comments
 (0)