Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: add documentation on how to build rollups on Celestia with blobstream #1489

Merged
merged 104 commits into from
Apr 18, 2024

Conversation

rach-id
Copy link
Member

@rach-id rach-id commented Mar 20, 2024

Overview

Given the number of people asking how to build a rollup on Celestia that uses Blobstream, this document aims to fill that lack.

Checklist

  • New and updated code has appropriate documentation
  • New and updated code has new and/or updated testing
  • Required CI checks are passing
  • Visual proof for any user facing features like CLI or documentation updates
  • Linked issues closed with keywords

Summary by CodeRabbit

  • Documentation
    • Updated guidance on building rollups using Blobstream, focusing on optimistic rollups and Zk-rollups, including share commitments and sequence of spans for data availability.
    • Added a new section on "Blobstream rollups" with a reference to additional documentation.
    • Added a new sidebar item titled "Blobstream rollups" with a link to "/developers/blobstream-rollups".

@rach-id rach-id self-assigned this Mar 20, 2024
@rach-id rach-id marked this pull request as draft March 20, 2024 18:17
Copy link
Contributor

coderabbitai bot commented Mar 20, 2024

Walkthrough

The update introduces guidance on creating Blobstream rollups for data availability on EVM chains. It covers share commitments, spans, and proof generation for optimistic and zk-rollups, emphasizing the use of Celestia for data referencing and ensuring data integrity and security in rollup design.

Changes

File Path Change Summary
.vitepress/config.ts Added a sidebar item "Blobstream rollups" linking to "/developers/blobstream-rollups".
developers/blobstream.md Added a section on "Blobstream rollups" detailing how to build rollups with Blobstream for EVM chains. Explored share commitments, spans, proof generation, and verification for optimistic and zk-rollups, highlighting implementation using Blobstream, Celestia, and EVM chains.

🐇✨
In the realm of code, where data streams flow,
A rabbit hopped in, with knowledge to bestow.
"Rollups," it whispered, "with Blobstream, take flight,
Through Celestia's gaze, in the data's light.
Integrity, security, in each line we thread,
For a future where trust in our networks is widespread."
🌟🐾


Recent Review Details

Configuration used: CodeRabbit UI

Commits Files that changed from the base of the PR and between 1161297 and 0bb52ba.
Files selected for processing (1)
  • developers/blobstream.md (1 hunks)
Files not reviewed due to errors (1)
  • blobstream.md (no review received)
Additional Context Used
LanguageTool (145)
developers/blobstream.md (145)

Near line 5: Possible spelling mistake found.
Context: ...ntegrate your L2 with Blobstream --- # Blobstream: Streaming modular DA to Ethereum ![Bl...


Near line 11: Possible spelling mistake found.
Context: ...eam_logo.png) ## What is Blobstream? [Blobstream](https://blog.celestia.org/introducing-...


Near line 11: Unpaired symbol: ‘[’ seems to be missing
Context: ...ng) ## What is Blobstream? [Blobstream](https://blog.celestia.org/introducing-b...


Near line 14: Possible spelling mistake found.
Context: ...ums/), Blobstream relays commitments to Celestia's data root to an onchain light client ...


Near line 14: Possible spelling mistake found.
Context: ...mmitments to Celestia's data root to an onchain light client on Ethereum, for integrati...


Near line 16: Possible spelling mistake found.
Context: ...pers to build high-throughput L2s using Celestia's optimised DA layer, the first with Da...


Near line 16: Possible spelling mistake. ‘optimised’ is British English.
Context: ...ld high-throughput L2s using Celestia's optimised DA layer, the first with Data Availabil...


Near line 17: Possible spelling mistake found.
Context: ...pling (DAS). Any ecosystem can deploy a Blobstream light client onchain to allow L2s and L...


Near line 18: Possible spelling mistake found.
Context: ...em can deploy a Blobstream light client onchain to allow L2s and L3s to access DA from ...


Near line 18: Possible spelling mistake found.
Context: ... to allow L2s and L3s to access DA from Celestia. An implementation of Blobstream, by [...


Near line 20: Possible spelling mistake found.
Context: ...DA from Celestia. An implementation of Blobstream, by [Succinct](https://docs.succinct.xy...


Near line 21: Possible spelling mistake found.
Context: ...t](https://docs.succinct.xyz/), called [Blobstream X](https://github.com/succinctlabs/blob...


Near line 23: Possible spelling mistake found.
Context: ...s implementation proves the validity of Celestia block headers on a target EVM chain usi...


Near line 23: Possible spelling mistake found.
Context: ... target EVM chain using zero-knowledge (ZK) proofs, which allow inheriting all the...


Near line 25: Possible spelling mistake found.
Context: ...heriting all the security guarantees of Celestia. Please note: Blobstream remains early...


Near line 30: Possible spelling mistake found.
Context: ...tream vs. data availability committees (DACs) ### Decentralization and security Bl...


Near line 33: Possible spelling mistake found.
Context: ...Cs) ### Decentralization and security Blobstream is built on Celestia, which uses a Come...


Near line 34: Possible spelling mistake found.
Context: ...on and security Blobstream is built on Celestia, which uses a CometBFT-based proof-of-s...


Near line 34: Possible spelling mistake found.
Context: ...ream is built on Celestia, which uses a CometBFT-based proof-of-stake system. Blobstream share...


Near line 35: Possible spelling mistake found.
Context: ...a CometBFT-based proof-of-stake system. Blobstream shares the same security assumptions as...


Near line 36: Possible spelling mistake found.
Context: ...shares the same security assumptions as Celestia. In contrast, data availability committ...


Near line 36: Possible spelling mistake found.
Context: ...contrast, data availability committees (DACs), are typically centralized or semi-cen...


Near line 41: Possible spelling mistake found.
Context: ...bility. ### Mechanism of verification Blobstream uses data availability attestations, wh...


Near line 42: Possible spelling mistake found.
Context: ...ta availability attestations, which are Merkle roots of the batched L2 data, to confir...


Near line 43: Possible spelling mistake found.
Context: ...m that the necessary data is present on Celestia. The L2 contract on Ethereum can check ...


Near line 45: Possible spelling mistake found.
Context: ... Blobstream if the data is published on Celestia. Similarly, a DAC would rely on attesta...


Near line 49: Possible spelling mistake found.
Context: ...bers. ### Flexibility and scalability Blobstream is designed to offer high-throughput da...


Near line 52: Possible spelling mistake found.
Context: ...dependently of Ethereum's gas costs, as Celestia's resource pricing is more byte-focused...


Near line 56: Possible spelling mistake found.
Context: ...ation. In summary, both Blobstream and DACs aim to ensure offchain data availabilit...


Near line 56: Possible spelling mistake found.
Context: ... both Blobstream and DACs aim to ensure offchain data availability, but Blobstream offer...


Near line 58: Possible spelling mistake found.
Context: ... to the potential centralized nature of DACs. ## What is Blobstream X? Blobstream ...


Near line 60: Possible spelling mistake found.
Context: ...centralized nature of DACs. ## What is Blobstream X? Blobstream X is an implementation o...


Near line 61: Possible spelling mistake found.
Context: ...ure of DACs. ## What is Blobstream X? Blobstream X is an implementation of Blobstream wi...


Near line 62: Possible spelling mistake found.
Context: ... an implementation of Blobstream with a ZK light client that bridges Celestia’s mo...


Near line 63: Possible spelling mistake found.
Context: ...eam with a ZK light client that bridges Celestia’s modular DA layer to Ethereum to allow...


Near line 64: Possible spelling mistake found.
Context: ...er to Ethereum to allow high-throughput rollups to use Celestia’s DA while settling on ...


Near line 64: Possible spelling mistake found.
Context: ...to allow high-throughput rollups to use Celestia’s DA while settling on Ethereum. Optim...


Near line 67: Possible spelling mistake found.
Context: ...le settling on Ethereum. Optimistic or ZK rollups that settle on Ethereum, but wi...


Near line 67: Possible spelling mistake found.
Context: ...settling on Ethereum. Optimistic or ZK rollups that settle on Ethereum, but wish to us...


Near line 67: Possible spelling mistake found.
Context: ...hat settle on Ethereum, but wish to use Celestia for DA, require a mechanism for _bridgi...


Near line 68: Possible spelling mistake found.
Context: ... DA, require a mechanism for bridging Celestia’s data root to Ethereum as part of the ...


Near line 70: Possible spelling mistake found.
Context: ...clusion proofs to prove that particular rollup transactions were included and made ava...


Near line 71: Possible spelling mistake found.
Context: ...were included and made available in the Celestia network. Bridging Celestia’s data root...


Near line 73: Possible spelling mistake found.
Context: ...able in the Celestia network. Bridging Celestia’s data root to Ethereum requires runnin...


Near line 73: Possible spelling mistake found.
Context: ...ata root to Ethereum requires running a Celestia light client as a smart contract on E...


Near line 75: Possible spelling mistake found.
Context: ...hereum, to make the latest state of the Celestia chain known on Ethereum and available t...


Near line 75: Possible spelling mistake found.
Context: ...hain known on Ethereum and available to rollups. Blobstream X utilizes the latest advan...


Near line 75: Possible spelling mistake found.
Context: ...n on Ethereum and available to rollups. Blobstream X utilizes the latest advances in ZK pr...


Near line 76: Possible spelling mistake found.
Context: ...tream X utilizes the latest advances in ZK proofs to generate a succinct proof t...


Near line 77: Possible spelling mistake found.
Context: ...generate a succinct proof that enough Celestia validators have come to consensus (acco...


Near line 78: Possible spelling mistake found.
Context: ...ave come to consensus (according to the CometBFT consensus protocol) on a block header, ...


Near line 79: Possible spelling mistake found.
Context: ... header, and verifies this proof in the Blobstream X Ethereum smart contract to update it ...


Near line 80: Possible spelling mistake found.
Context: ...t contract to update it with the latest Celestia header. The Blobstream X ZK proof not ...


Near line 82: Possible spelling mistake found.
Context: ...t with the latest Celestia header. The Blobstream X ZK proof not only verifies the consen...


Near line 82: Possible spelling mistake found.
Context: ...test Celestia header. The Blobstream X ZK proof not only verifies the consensus o...


Near line 82: Possible spelling mistake found.
Context: ...roof not only verifies the consensus of Celestia validators, but it also merkelizes and ...


Near line 83: Possible spelling mistake found.
Context: ...sus of Celestia validators, but it also merkelizes and hashes all the data roots in the bl...


Near line 85: Possible spelling mistake found.
Context: ...e current update, making accessible all Celestia data roots (verifiable with a Merkle in...


Near line 85: Possible spelling mistake found.
Context: ... Celestia data roots (verifiable with a Merkle inclusion proof against the stored Merk...


Near line 86: Possible spelling mistake found.
Context: ...rkle inclusion proof against the stored Merkle root) to rollups. Blobstream X is buil...


Near line 86: Possible spelling mistake found.
Context: ...roof against the stored Merkle root) to rollups. Blobstream X is built and deployed wi...


Near line 87: Possible spelling mistake found.
Context: ...st the stored Merkle root) to rollups. Blobstream X is built and deployed with [Succinct'...


Near line 95: Possible spelling mistake found.
Context: ...cs go over how developers can integrate Blobstream X. You can [find the repository for Bl...


Near line 97: Possible spelling mistake found.
Context: ...am X. You can [find the repository for Blobstream X](https://github.com/succinctlabs/blob...


Near line 100: Possible spelling mistake found.
Context: ...obstreamx) along with code for: - [The Blobstream X smart contract - BlobstreamX.sol](h...


Near line 101: Possible spelling mistake found.
Context: ...n/contracts/src/BlobstreamX.sol) - [The Blobstream X circuits](https://alpha.succinct.xyz/...


Near line 102: Possible spelling mistake found.
Context: ...ccinct.xyz/celestia/blobstreamx) - [The Blobstream X contract Golang bindings](https://git...


Near line 104: Possible spelling mistake found.
Context: ...obstreamX.go) The first deployments of Blobstream X will be maintained on the following c...


Near line 105: Possible spelling mistake found.
Context: ... be maintained on the following chains: Arbitrum One, Base and Ethereum Mainnet. Every 1...


Near line 105: Possible spelling mistake found.
Context: ...chains: Arbitrum One, Base and Ethereum Mainnet. Every 1 hour, the prover/relayer will ...


Near line 106: Possible spelling mistake found.
Context: ...and Ethereum Mainnet. Every 1 hour, the prover/relayer will post an update to the Blob...


Near line 106: Possible spelling mistake found.
Context: ...ereum Mainnet. Every 1 hour, the prover/relayer will post an update to the Blobstream X...


Near line 106: Possible spelling mistake found.
Context: ...over/relayer will post an update to the Blobstream X contract that will include a new data...


Near line 108: Possible spelling mistake found.
Context: ...at covers a 1-hour block range from the latestBlock in the Blobstream X contract. On Ether...


Near line 108: Possible spelling mistake found.
Context: ...ock range from the latestBlock in the Blobstream X contract. On Ethereum Mainnet, the Bl...


Near line 109: You might be missing the article “the” here.
Context: ...Block` in the Blobstream X contract. On Ethereum Mainnet, the Blobstream X contract will...


Near line 109: Possible spelling mistake found.
Context: ... the Blobstream X contract. On Ethereum Mainnet, the Blobstream X contract will be upda...


Near line 109: Possible spelling mistake found.
Context: ...am X contract. On Ethereum Mainnet, the Blobstream X contract will be updated every 4 hour...


Near line 113: Possible spelling mistake found.
Context: ...ustom ranges can be requested using the BlobstreamX contract to create proofs for specific...


Near line 114: Possible spelling mistake found.
Context: ... contract to create proofs for specific Celestia block batches. These ranges can be cons...


Near line 115: Unpaired symbol: ‘]’ seems to be missing
Context: ...hes. These ranges can be constructed as [latestBlock, customTargetBlock), with `...


Near line 115: Possible spelling mistake found.
Context: ...[latestBlock, customTargetBlock), with latestBlock` as the latest block height that was co...


Near line 116: Possible spelling mistake found.
Context: ...ock height that was committed to by the BlobstreamX contract, and `latestBlock > customTar...


Near line 117: Possible spelling mistake found.
Context: ...d to by the BlobstreamX contract, and latestBlock > customTargetBlock, and `customTarget...


Near line 118: Do you wish to insert an arrow?
Context: ... latestBlock > customTargetBlock, and customTargetBlock - latestBlock <= DATA_COMMITMENT_MAX. Block ranges tha...


Near line 120: Possible spelling mistake found.
Context: ...k ranges that are before the contract's latestBlock can't be proven a second time in diffe...


Near line 127: Possible spelling mistake found.
Context: ...eamX.sol#L78-L101) method. ::: ### How Blobstream X works As shown in the diagram below,...


Near line 129: Possible spelling mistake found.
Context: ...rks As shown in the diagram below, the entrypoint for updates to the Blobstream X contrac...


Near line 129: Possible spelling mistake found.
Context: ...elow, the entrypoint for updates to the Blobstream X contract is through the `SuccinctGate...


Near line 130: Possible spelling mistake found.
Context: ...he Blobstream X contract is through the SuccinctGateway smart contract, which is a simple entr...


Near line 131: Possible spelling mistake found.
Context: ...eway` smart contract, which is a simple entrypoint contract that verifies proofs (against ...


Near line 131: Possible spelling mistake found.
Context: ...hat verifies proofs (against a deployed onchain verifier for the Blobstream X circuit) ...


Near line 132: Possible spelling mistake found.
Context: ...nst a deployed onchain verifier for the Blobstream X circuit) and then calls the `Blobstre...


Near line 132: Possible spelling mistake found.
Context: ...lobstream X circuit) and then calls the BlobstreamX.sol contract to update it. [Find more ...


Near line 134: Possible spelling mistake found.
Context: ...te it. [Find more information about the SuccinctGateway](https://docs.succinct.xyz/platform/on...


Near line 141: Possible spelling mistake found.
Context: ...t-disable MD042 --> :::tip NOTE If the Blobstream X contract is not deployed on a desired...


Near line 142: Possible spelling mistake found.
Context: ... deployed before it can be used by your rollup. See the [deployment documentation](htt...


Near line 150: Possible spelling mistake found.
Context: ...stream X requires two components: your [onchain smart contract logic](./blobstream-cont...


Near line 151: Possible spelling mistake found.
Context: ...](./blobstream-contracts.md), and your [offchain client logic for your rollup](./blobstr...


Near line 151: Possible spelling mistake found.
Context: ...nd your offchain client logic for your rollup. The next th...


Near line 155: Possible spelling mistake found.
Context: ... cover these topics: - Integrate with Blobstream contracts -...


Near line 157: Possible spelling mistake found.
Context: ...blobstream-offchain.md) - Querying the Blobstream proofs ...


Near line 161: Possible spelling mistake found.
Context: ...ed contracts You can interact with the Blobstream X contracts today on testnet. The Blobs...


Near line 161: Possible spelling mistake found.
Context: ...ith the Blobstream X contracts today on testnet. The Blobstream X Solidity smart contra...


Near line 161: Possible spelling mistake found.
Context: ...tream X contracts today on testnet. The Blobstream X Solidity smart contracts are currentl...


Near line 163: Possible spelling mistake found.
Context: ...ntly deployed on the following Ethereum testnets: ...


Near line 167: Possible typo: you repeated a whitespace
Context: ...rkdownlint-disable MD013 --> | Contract | EVM network | Contract address ...


Near line 167: Possible typo: you repeated a whitespace
Context: ... MD013 --> | Contract | EVM network | Contract address ...


Near line 167: Possible typo: you repeated a whitespace
Context: ... | EVM network | Contract address | Attested data on Celestia | | --------...


Near line 167: Possible spelling mistake found.
Context: ... | Attested data on Celestia | | ------------ | ---------------- | -...


Near line 169: Possible spelling mistake found.
Context: ...------------------- | ------------- | | Blobstream X | Ethereum Mainnet | [`Not ...


Near line 169: Possible typo: you repeated a whitespace
Context: ...------- | ------------- | | Blobstream X | Ethereum Mainnet | [`Not yet ...


Near line 169: Possible spelling mistake found.
Context: ...---------- | | Blobstream X | Ethereum Mainnet | [Not yet deployed](https:/...


Near line 169: Possible typo: you repeated a whitespace
Context: ...--- | | Blobstream X | Ethereum Mainnet | [Not yet deployed](https://etherscan...


Near line 169: Possible spelling mistake found.
Context: ...https://etherscan.io/address/0xTODO) | Mainnet Beta | | Blobstre...


Near line 170: Possible spelling mistake found.
Context: ...Mainnet Beta | | Blobstream X | Arbitrum One | [`0xA83ca7775Bc28898...


Near line 170: Possible spelling mistake found.
Context: ...../nodes/mainnet.md) | | Blobstream X | Arbitrum One | [`0xA83ca7775Bc2889825BcDeDfFa5b7...


Near line 170: Possible typo: you repeated a whitespace
Context: ...5Bc2889825BcDeDfFa5b758cf69e8794#events) | Mainnet Beta | ...


Near line 170: Possible spelling mistake found.
Context: ...89825BcDeDfFa5b758cf69e8794#events) | Mainnet Beta | | Blobstre...


Near line 171: Possible spelling mistake found.
Context: ...Mainnet Beta | | Blobstream X | Base | [`0xA83ca7775Bc288...


Near line 171: Possible typo: you repeated a whitespace
Context: ...odes/mainnet.md) | | Blobstream X | Base | [`0xA83ca7775Bc2889825BcDeDfFa5b758cf6...


Near line 171: Possible typo: you repeated a whitespace
Context: ...5Bc2889825BcDeDfFa5b758cf69e8794#events) | Mainnet Beta | ...


Near line 171: Possible spelling mistake found.
Context: ...89825BcDeDfFa5b758cf69e8794#events) | Mainnet Beta | | Blobstre...


Near line 172: Possible spelling mistake found.
Context: ...Mainnet Beta | | Blobstream X | Sepolia | [`0xf0c6429ebab...


Near line 172: Possible typo: you repeated a whitespace
Context: ...a](../nodes/mainnet.md) | | Blobstream X | Sepolia | [`0xf0c6429ebab2e7d...


Near line 172: Possible spelling mistake found.
Context: ..../nodes/mainnet.md) | | Blobstream X | Sepolia | [`0xf0c6429ebab2e7dc6e05dafb...


Near line 172: Possible typo: you repeated a whitespace
Context: .../mainnet.md) | | Blobstream X | Sepolia | [`0xf0c6429ebab2e7dc6e05dafb61128be21f...


Near line 172: Possible spelling mistake found.
Context: ...05dafb61128be21f13cb1e#events) | Mocha testnet | | Blobstr...


Near line 173: Possible spelling mistake found.
Context: ...testnet](../nodes/mocha-testnet.md) | | Blobstream X | Arbitrum Sepolia | [`0xc3...


Near line 173: Possible spelling mistake found.
Context: ...es/mocha-testnet.md) | | Blobstream X | Arbitrum Sepolia | [`0xc3e209eb245Fd59...


Near line 173: Possible spelling mistake found.
Context: ...testnet.md) | | Blobstream X | Arbitrum Sepolia | [`0xc3e209eb245Fd59c8586777...


Near line 173: Possible typo: you repeated a whitespace
Context: ....md) | | Blobstream X | Arbitrum Sepolia | [`0xc3e209eb245Fd59c8586777b499d6A665D...


Near line 173: Possible typo: you repeated a whitespace
Context: ...245Fd59c8586777b499d6A665DF3ABD2#events) | [Mocha testnet](../nodes/mocha-testnet...


Near line 173: Possible spelling mistake found.
Context: ...6777b499d6A665DF3ABD2#events) | Mocha testnet | | Blobstr...


Near line 174: Possible spelling mistake found.
Context: ...testnet](../nodes/mocha-testnet.md) | | Blobstream X | Base Sepolia | [`0xc3e209...


Near line 174: Possible spelling mistake found.
Context: ...cha-testnet.md) | | Blobstream X | Base Sepolia | [`0xc3e209eb245Fd59c8586777...


Near line 174: Possible typo: you repeated a whitespace
Context: ...tnet.md) | | Blobstream X | Base Sepolia | [`0xc3e209eb245Fd59c8586777b499d6A665D...


Near line 174: Possible typo: you repeated a whitespace
Context: ...245Fd59c8586777b499d6A665DF3ABD2#events) | [Mocha testnet](../nodes/mocha-testnet...


Near line 174: Possible spelling mistake found.
Context: ...6777b499d6A665DF3ABD2#events) | Mocha testnet | <!-- mar...


Near line 178: Possible spelling mistake found.
Context: ... ### Blobstream rollups More on the different ways to ...


Near line 178: Possible spelling mistake found.
Context: ...wnlint-enable MD013 --> ### Blobstream rollups More on the different ways to build a ...


Near line 180: Possible spelling mistake found.
Context: ... More on the different ways to build a blobstream rollups can be found in the [blobstream...


Near line 180: Possible spelling mistake found.
Context: ...he different ways to build a blobstream rollups can be found in the [blobstream rollups...


Near line 180: Possible spelling mistake found.
Context: ...blobstream rollups can be found in the [blobstream rollups](../developers/blobstream-rollu...


Near line 180: Possible spelling mistake found.
Context: ...rollups can be found in the blobstream rollups d...


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

Share
Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai generate interesting stats about this repository and render them as a table.
    • @coderabbitai show all the console.log statements in this repository.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (invoked as PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger a review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai help to get help.

Additionally, you can add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.

CodeRabbit Configration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Contributor

github-actions bot commented Mar 20, 2024

PR Preview Action v1.4.7
Preview removed because the pull request was closed.
2024-04-18 14:33 UTC

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review Status

Actionable comments generated: 4

Configuration used: CodeRabbit UI

Commits Files that changed from the base of the PR and between 5928279 and 1c5a92a.
Files selected for processing (1)
  • developers/blobstream-rollups.md (1 hunks)

developers/blobstream-rollups.md Outdated Show resolved Hide resolved
developers/blobstream-rollups.md Outdated Show resolved Hide resolved
developers/blobstream-rollups.md Outdated Show resolved Hide resolved
@jcstein
Copy link
Member

jcstein commented Mar 21, 2024

I'll review and add to menu when the time comes

Copy link
Member

@evan-forbes evan-forbes left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

really good first draft! I think this could be super helpful to devs in actually understanding how this works, and could be the thing that we point rollup devs to in the future

imo, I do think we can clarify a bit of the content, and reorganize it a bit. again, imo, a potential structure could be

  • very quick intro into blobstream
  • explain each mechanism to prove inclusion as precisely, concisely, and isolated as we can
  • then briefly mention that zk and oru s differ in how they use blobstream. the optimistic vs pessimistic nature
  • how an ORU would use each described mechanism for proving inclusion. if you don't think it makes sense to use this construction explain why! this would be super informative
  • how a zkr would use this, what challenges does the pessimistic approach run into?

one general thing about this post is that it assumes that the reader is reading the entire things from start to finish, but I don't think this usally occurs with technical docs. If we can, I think it would add a bit of clarity if we can order things a bit differently

developers/blobstream-rollups.md Outdated Show resolved Hide resolved
developers/blobstream-rollups.md Outdated Show resolved Hide resolved
developers/blobstream-rollups.md Outdated Show resolved Hide resolved
developers/blobstream-rollups.md Outdated Show resolved Hide resolved
developers/blobstream-rollups.md Outdated Show resolved Hide resolved
developers/blobstream-rollups.md Outdated Show resolved Hide resolved
developers/blobstream-rollups.md Outdated Show resolved Hide resolved
developers/blobstream-rollups.md Outdated Show resolved Hide resolved
developers/blobstream-rollups.md Outdated Show resolved Hide resolved
developers/blobstream-rollups.md Outdated Show resolved Hide resolved
@jcstein jcstein changed the title docs: add documentation on how to build rollups on Celestia docs: add documentation on how to build rollups on Celestia with blobstream Mar 28, 2024
@rach-id
Copy link
Member Author

rach-id commented Mar 29, 2024

@evan-forbes Thanks a lot for the feedback. I rewrote the whole document to be almost self-contained. Please review when you have time

Copy link
Member

@evan-forbes evan-forbes left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

super nice!

developers/blobstream-rollups.md Outdated Show resolved Hide resolved
developers/blobstream-rollups.md Outdated Show resolved Hide resolved
developers/blobstream-rollups.md Outdated Show resolved Hide resolved
developers/blobstream-rollups.md Outdated Show resolved Hide resolved
developers/blobstream-rollups.md Outdated Show resolved Hide resolved
developers/blobstream-rollups.md Show resolved Hide resolved
developers/blobstream-rollups.md Show resolved Hide resolved
developers/blobstream-rollups.md Show resolved Hide resolved
Copy link
Member

@evan-forbes evan-forbes left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have a some comments, but think they can be addressed later and that we shouldn't block on this any longer

great work @rach-id and thanks for pushing this through

developers/blobstream-rollups.md Outdated Show resolved Hide resolved
jcstein and others added 12 commits April 16, 2024 13:33
* feat: drafting buttons

* fix: color of btn

* feat: add note text optional

* feat: rename to build-whatever.md

* fix: copy

* feat: category shuffle

* fix: suggestions from code review

* feat: add vistara

* Apply suggestions from code review

* fix: typo

* feat: add alt texts

* fix: typo

* feat: aria-labels

* docs: shuffle intro
* Update mocha_versions.js

* Update mocha_versions.js
* Add Grove to nodes/mainnet.md

* Apply suggestions from code review

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* Update nodes/mainnet.md

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* Store image in src code

* Add description of archival nodes

* Apply suggestions from code review

* Apply suggestions from code review

* Update nodes/mainnet.md

---------

Co-authored-by: joshcs.eth <[email protected]>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* fix typo

* fix typo

* fix typo

* fix typo

* fix typos

* fix typo

* fix typo

* fix typos

* fix typos

* fix typos

* fix typos

* fix typo

* fix typo

* fix typo

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* Apply suggestions from code review

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: joshcs.eth <[email protected]>
Add noders endpoints
* Update mocha-testnet.md

Add noders endpoints

* Fixed link to endpoint

* Apply suggestions from code review

---------

Co-authored-by: joshcs.eth <[email protected]>
@jcstein
Copy link
Member

jcstein commented Apr 16, 2024

pardon my rebase

@jcstein
Copy link
Member

jcstein commented Apr 16, 2024

@rach-id in 89b78bf I removed duplicate headings for readability/linkability

in bf2bf7b I clarified the duplicate headings. can you confirm that in bf2bf7b I named the links to headings correctly?

other than that, this LGTM.

@jcstein jcstein marked this pull request as ready for review April 16, 2024 20:24
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 5

@rach-id
Copy link
Member Author

rach-id commented Apr 16, 2024

@jcstein why did we add the headings? I thought that if we have the heading in ### and the subsections in ####, it will show that it's part of it no?
If not, then I can rewrite the headings to have more details

@jcstein
Copy link
Member

jcstein commented Apr 17, 2024

@rach-id to avoid breaking linting rules. i think that they would resolve as "#pros", "#pros-1" etc. but are more clear with specific headings to the section they're relevant to

however, if you'd prefer, i can revert the changes and ignore the linting rules

@rach-id
Copy link
Member Author

rach-id commented Apr 17, 2024

@jcstein fixed the headings, should be good to go

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 5

developers/blobstream-rollups.md Show resolved Hide resolved
developers/blobstream-rollups.md Show resolved Hide resolved
developers/blobstream-rollups.md Show resolved Hide resolved
developers/blobstream-rollups.md Show resolved Hide resolved
developers/blobstream-rollups.md Show resolved Hide resolved
@rach-id
Copy link
Member Author

rach-id commented Apr 18, 2024

@jcstein I am checking the deployed PR https://celestiaorg.github.io/docs-preview/pr-1489/ and I don't see this document anywhere. Should I add something so it's part of the blobstream section?

@jcstein
Copy link
Member

jcstein commented Apr 18, 2024

gm @rach-id it is under "Developers > Build whatever (formerly rollup category)"
would you like to move it into blobstream instead?

@rach-id rach-id merged commit 093658b into main Apr 18, 2024
4 checks passed
@rach-id rach-id deleted the blobstream-rollups branch April 18, 2024 14:32

## Concepts

### Share commitment
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Two issues here:

  1. It's not clear why "share commitment" is used here instead of "blob commitment" as used everywhere else.
  2. For the reader reading from top to bottom, it's not obvious until the next subsection that this is only one way of doing things, rather than the only way.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. I saw it in the specs being called blob share commitment that's why I used share commitment. Will change ASAP.

  2. good catch, will mention that

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@adlerjohn check here: #1541

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.