Skip to content
This repository was archived by the owner on Aug 7, 2025. It is now read-only.

Commit 3bedaaf

Browse files
committed
replace more
1 parent 9858461 commit 3bedaaf

File tree

10 files changed

+68
-52
lines changed

10 files changed

+68
-52
lines changed

guides/restart-chain.md

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
# 🔄 How to restart your rollup
1+
# 🔄 How to restart your chain
22

3-
This guide will teach you how to restart your Rollkit rollup.
3+
This guide will teach you how to restart your Rollkit chain.
44

5-
## Restart rollup
5+
## Restart chain
66

7-
This section covers the case where you need to restart your rollup.
7+
This section covers the case where you need to restart your chain.
88

9-
In order to restart your rollup, you simply need to run the `<your-binary>d start [...args]`
10-
command for your rollup.
9+
In order to restart your chain, you simply need to run the `<your-binary>d start [...args]`
10+
command for your chain.
1111

12-
For example, if you ran the [quick start](/guides/quick-start.md) tutorial, you started your rollup with:
12+
For example, if you ran the [quick start](/guides/quick-start.md) tutorial, you started your chain with:
1313

1414
```bash
1515
testapp start
@@ -24,7 +24,7 @@ I[2024-10-17|14:52:12.845] executed block module=B
2424
I[2024-10-17|14:52:12.846] indexed block events module=txindex height=7
2525
```
2626

27-
If you need to restart your rollup, you can run the same command again:
27+
If you need to restart your chain, you can run the same command again:
2828

2929
```bash
3030
testapp start
@@ -39,13 +39,13 @@ I[2024-10-17|14:52:13.845] executed block module=B
3939
I[2024-10-17|14:52:13.845] indexed block events module=txindex height=8
4040
```
4141

42-
It is important to include any additional flags that you used when you first started your rollup. For example, if you used the `--rollkit.da.namespace` flag, you will need to include that flag when restarting your rollup to ensure your rollup continues to publish blobs to the same namespace.
42+
It is important to include any additional flags that you used when you first started your chain. For example, if you used the `--rollkit.da.namespace` flag, you will need to include that flag when restarting your chain to ensure your chain continues to publish blobs to the same namespace.
4343

44-
## Restart rollup after running out of funds
44+
## Restart chain after running out of funds
4545

4646
This section covers the case that the node that
4747
you are using to post blocks to your DA and consensus layer runs out of funds (tokens),
48-
and you need to restart your rollup.
48+
and you need to restart your chain.
4949

5050
In this example, we're using Celestia's [Mocha testnet](https://docs.celestia.org/how-to-guides/mocha-testnet/)
5151
and running the [quick start](/guides/quick-start.md). In this example, our Celestia DA light node
@@ -58,7 +58,7 @@ error. This error is defined by Cosmos SDK as:
5858
ErrTxInMempoolCache = Register(RootCodespace, 19, "tx already in mempool")
5959
```
6060

61-
In order to get around this error, and the same error on other Rollkit rollups, you will need to re-fund your Celestia account and increase the gas fee. This will override the transaction that is stuck in the mempool.
61+
In order to get around this error, and the same error on other Rollkit chains, you will need to re-fund your Celestia account and increase the gas fee. This will override the transaction that is stuck in the mempool.
6262

6363
If you top up the balance of your node and don't increase the gas fee, you will still encounter the `Code: 19` error because there is a transaction (posting block to DA) that is duplicate to one that already exists. In order to get around this, you'll need to increase the gas fee and restart the chain.
6464

@@ -82,20 +82,20 @@ cd $HOME && cd celestia-node
8282
./cel-key list --keyring-backend test --node.type light --p2p.network <network>
8383
```
8484

85-
### 🛑 Stopping your rollup {#stopping-your-rollup}
85+
### 🛑 Stopping your chain {#stopping-your-chain}
8686

87-
You can stop your rollup by using `Control + C` in your terminal where the node is running.
87+
You can stop your chain by using `Control + C` in your terminal where the node is running.
8888

8989
### ⛽ Increase the gas fee {#increase-gas-fee}
9090

9191
To reiterate, before restarting the chain, you will need to increase the gas fee in order to avoid a `Code: 19` error. See the [How to configure gas price](/guides/config.md#da-gas-price) guide for more information.
9292

93-
### 🔁 Restarting your rollup {#restarting-your-rollup}
93+
### 🔁 Restarting your chain {#restarting-your-chain}
9494

95-
Follow the [restart rollup](#restart-rollup) section above.
95+
Follow the [restart chain](#restart-chain) section above.
9696

9797
### 🛢️ Reduce gas fee & restart again {#reduce-gas-fee-restart-again}
9898

9999
In order to save your TIA, we also recommend stopping the chain with `Control + C`, changing the gas fee back to the default (in our case, 8000 utia) and restarting the chain:
100100

101-
🎊 Congrats! You've successfully restarted your Rollkit rollup after running out of TIA.
101+
🎊 Congrats! You've successfully restarted your Rollkit chain after running out of TIA.

learn/about.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -69,23 +69,23 @@ Rollkit's goal is to make deploying a chain as easy as it is to deploy a smart c
6969

7070
## How can you use Rollkit?
7171

72-
As briefly mentioned above, Rollkit could be used in many different ways. From sovereign rollups, to settlement layers, and in the future even to L3s.
72+
As briefly mentioned above, Rollkit could be used in many different ways. From sovereign chains, to settlement layers, and in the future even to L3s.
7373

74-
### Rollup with any execution environment
74+
### Chain with any execution environment
7575

76-
Rollkit gives developers the flexibility to use pre-existing ABCI-compatible state machines or create a custom state machine tailored to their rollup needs. Rollkit does not restrict the use of any specific virtual machine, allowing developers to experiment and bring innovative applications to life.
76+
Rollkit gives developers the flexibility to use pre-existing ABCI-compatible state machines or create a custom state machine tailored to their chain needs. Rollkit does not restrict the use of any specific virtual machine, allowing developers to experiment and bring innovative applications to life.
7777

78-
### Sovereign rollup with Cosmos SDK
78+
### Sovereign chain with Cosmos SDK
7979

80-
Similarly to how developers utilize the Cosmos SDK to build a sovereign layer 1 chain, the Cosmos SDK could be utilized to create a Rollkit-compatible rollup chain.
80+
Similarly to how developers utilize the Cosmos SDK to build a sovereign layer 1 chain, the Cosmos SDK could be utilized to create a Rollkit-compatible chain.
8181
Cosmos-SDK has great [documentation](https://docs.cosmos.network/main) and tooling that developers can leverage to learn.
8282

83-
Another possibility is taking an existing layer 1 built with the Cosmos SDK and deploying it as a Rollkit rollup. This can provide a great opportunity for experimentation and growth.
83+
Another possibility is taking an existing layer 1 built with the Cosmos SDK and deploying it as a Rollkit chain. This can provide a great opportunity for experimentation and growth.
8484

8585
### Build a settlement layer
8686

87-
[Settlement layers](https://celestia.org/learn/modular-settlement-layers/settlement-in-the-modular-stack/) are ideal for developers who want to avoid deploying sovereign rollups. They provide a platform for rollups to verify proofs and resolve disputes.
88-
Additionally, they act as a hub for rollups to facilitate trust-minimized token transfers and liquidity sharing between rollups that share the same settlement layer.
87+
[Settlement layers](https://celestia.org/learn/modular-settlement-layers/settlement-in-the-modular-stack/) are ideal for developers who want to avoid deploying sovereign chains. They provide a platform for chains to verify proofs and resolve disputes.
88+
Additionally, they act as a hub for chains to facilitate trust-minimized token transfers and liquidity sharing between chains that share the same settlement layer.
8989
Think of settlement layers as a special type of execution layer.
9090

9191
## When can you use Rollkit?

learn/config.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ db_path: "data"
9898
### Chain ID
9999

100100
**Description:**
101-
The unique identifier for your rollup chain. This ID is used to differentiate your network from others and is crucial for network communication and transaction validation.
101+
The unique identifier for your chain. This ID is used to differentiate your network from others and is crucial for network communication and transaction validation.
102102

103103
**YAML:**
104104
Set this in your configuration file at the top level:
@@ -354,7 +354,7 @@ da:
354354
### DA Namespace
355355

356356
**Description:**
357-
The namespace ID used when submitting blobs (block data) to the DA layer. This helps segregate data from different rollups or applications on a shared DA layer.
357+
The namespace ID used when submitting blobs (block data) to the DA layer. This helps segregate data from different chains or applications on a shared DA layer.
358358

359359
**YAML:**
360360

learn/data-availability.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Data Availability in Rollkit
22

3-
Data availability (DA) is a core of Rollkit's. Rollkit utilize's data availability ensures that all transaction data and block information required to verify the rollup's state is accessible to anyone running a node or light client.
3+
Data availability (DA) is a core of Rollkit's. Rollkit utilize's data availability ensures that all transaction data and block information required to verify the chain's state is accessible to anyone running a node or light client.
44

55
Learn more about data availability:
66

learn/execution.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
# Execution Layers in Rollkit
22

3-
Rollkit is designed to be modular and flexible, allowing different execution layers to be plugged in. Rollkit defines a general-purpose execution interface ([see execution.go](https://github.com/rollkit/rollkit/blob/main/core/execution/execution.go)) that enables developers to integrate any compatible application as the rollup's execution layer.
3+
Rollkit is designed to be modular and flexible, allowing different execution layers to be plugged in. Rollkit defines a general-purpose execution interface ([see execution.go](https://github.com/rollkit/rollkit/blob/main/core/execution/execution.go)) that enables developers to integrate any compatible application as the chain's execution layer.
44

5-
This means you can use a variety of Cosmos SDK or Reth compatible applications as the execution environment for your rollup: choose the execution environment that best fits your use case.
5+
This means you can use a variety of Cosmos SDK or Reth compatible applications as the execution environment for your chain: choose the execution environment that best fits your use case.
66

77
## Supported Execution Layers
88

99
### Cosmos SDK Execution Layer
1010

11-
Rollkit natively supports Cosmos SDK-based applications as the execution layer for a rollup via the ABCI (Application Blockchain Interface) protocol. The Cosmos SDK provides a rich set of modules for staking, governance, IBC, and more, and is widely used in the Cosmos ecosystem. This integration allows developers to leverage the full power and flexibility of the Cosmos SDK when building their rollup applications.
11+
Rollkit natively supports Cosmos SDK-based applications as the execution layer for a chain via the ABCI (Application Blockchain Interface) protocol. The Cosmos SDK provides a rich set of modules for staking, governance, IBC, and more, and is widely used in the Cosmos ecosystem. This integration allows developers to leverage the full power and flexibility of the Cosmos SDK when building their chain applications.
1212

1313
- [Cosmos SDK Documentation](https://docs.cosmos.network/)
1414
- [Cosmos SDK ABCI Documentation](https://docs.cosmos.network/main/build/abci/introduction)

learn/sequencing/overview.md

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,44 @@
11
# Sequencing
22

3-
Sequencing is the essential first step for handling your transactions. Think of it as an organizer that takes all incoming transactions, puts them in a clear order, and then groups them into batches. This process is vital for keeping everything consistent and making the rollup run. Rollkit uses a "Sequencing Interface" with key functions like submitting, retrieving, and verifying these transaction batches, ensuring smooth communication between the rollup and the sequencing mechanism, which often acts as a bridge to the underlying network.
3+
Sequencing is the essential first step for handling your transactions. Think of it as an organizer that takes all incoming transactions, puts them in a clear order, and then groups them into batches. This process is vital for keeping everything consistent and making the chain run. Rollkit uses a "Sequencing Interface" with key functions like submitting, retrieving, and verifying these transaction batches, ensuring smooth communication between the chain and the sequencing mechanism, which often acts as a bridge to the underlying network.
44

55
## Sequencing Interface {#sequencing-interface}
66

77
[Sequencing Interface](https://github.com/rollkit/rollkit/blob/main/core/sequencer/sequencing.go#L11) defines a sequencing interface for communicating between any sequencing network and Rollkit. The key functions of the interface are defined as shown below.
88

99
```go
10-
SubmitRollupTransaction(rollupId, data) returns (error)
11-
12-
GetNextBatch(rollupId, lastBatchHash, maxBytes) returns (batch, timestamp)
13-
14-
VerifyBatch(rollupId, batchHash) returns (status)
10+
// Sequencer is a generic interface for a sequencer
11+
type Sequencer interface {
12+
// SubmitBatchTxs submits a batch of transactions from to sequencer
13+
// Id is the unique identifier for the chain
14+
// Batch is the batch of transactions to submit
15+
// returns an error if any from the sequencer
16+
SubmitBatchTxs(ctx context.Context, req SubmitBatchTxsRequest) (*SubmitBatchTxsResponse, error)
17+
18+
// GetNextBatch returns the next batch of transactions from sequencer to
19+
// Id is the unique identifier for the chain
20+
// LastBatchHash is the cryptographic hash of the last batch received by the
21+
// MaxBytes is the maximum number of bytes to return in the batch
22+
// returns the next batch of transactions and an error if any from the sequencer
23+
GetNextBatch(ctx context.Context, req GetNextBatchRequest) (*GetNextBatchResponse, error)
24+
25+
// VerifyBatch verifies a batch of transactions received from the sequencer
26+
// Id is the unique identifier for the chain
27+
// BatchHash is the cryptographic hash of the batch to verify
28+
// returns a boolean indicating if the batch is valid and an error if any from the sequencer
29+
VerifyBatch(ctx context.Context, req VerifyBatchRequest) (*VerifyBatchResponse, error)
30+
}
1531
```
1632

1733
It mainly consists of:
1834

19-
* `SubmitRollupTransaction` relays the rollup transactions from Rollkit rollup to the sequencing network
35+
* `SubmitBatchTxs` relays the chain transactions from Rollkit chain to the sequencing network
2036
* `GetNextBatch` returns the next batch of transactions along with a deterministic timestamp
2137
* `VerifyBatch` validates the sequenced batch
2238

2339
## Sequencing Implementations {#sequencing-implementations}
2440

25-
An implementation of the sequencing interface mainly acts as a middleware that connects Rollkit rollup and the sequencing layer. It implements the sequencing interface functions described above.
41+
An implementation of the sequencing interface mainly acts as a middleware that connects Rollkit chain and the sequencing layer. It implements the sequencing interface functions described above.
2642
There are several implementations of the sequencer but for now only one is available in Rollkit.
2743

2844
* [single-sequencer](/learn/sequencing/single.md) - The simplest and most widely used sequencing model, where a single node (the sequencer) is responsible for ordering transactions and producing blocks.

learn/sequencing/single.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Single Sequencer
22

3-
A single sequencer is the simplest sequencing architecture for a Rollkit-based rollup. In this model, one node (the sequencer) is responsible for ordering transactions, producing blocks, and submitting data to the data availability (DA) layer.
3+
A single sequencer is the simplest sequencing architecture for a Rollkit-based chain. In this model, one node (the sequencer) is responsible for ordering transactions, producing blocks, and submitting data to the data availability (DA) layer.
44

55
## How the Single Sequencer Model Works
66

@@ -19,10 +19,10 @@ A single sequencer is the simplest sequencing architecture for a Rollkit-based r
1919

2020
4. **Data Availability Posting:**
2121
- The sequencer posts the block data to the configured DA layer (e.g., Celestia).
22-
- This ensures that anyone can access the data needed to reconstruct the rollup state.
22+
- This ensures that anyone can access the data needed to reconstruct the chain state.
2323

2424
5. **State Update:**
25-
- The sequencer updates the rollup state based on the new block and makes the updated state available to light clients and full nodes.
25+
- The sequencer updates the chain state based on the new block and makes the updated state available to light clients and full nodes.
2626

2727
## Transaction Flow Diagram
2828

learn/specs/block-manager.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ The block manager is initialized using several parameters as defined below:
9797
signing key|crypto.PrivKey|used for signing blocks and data after creation
9898
config|config.BlockManagerConfig|block manager configurations (see config options below)
9999
genesis|*cmtypes.GenesisDoc|initialize the block manager with genesis state (genesis configuration defined in `config/genesis.json` file under the app directory)
100-
store|store.Store|local datastore for storing rollup blocks and states (default local store path is `$db_dir/rollkit` and `db_dir` specified in the `config.yaml` file under the app directory)
100+
store|store.Store|local datastore for storing chain blocks and states (default local store path is `$db_dir/rollkit` and `db_dir` specified in the `config.yaml` file under the app directory)
101101
mempool, proxyapp, eventbus|mempool.Mempool, proxy.AppConnConsensus, *cmtypes.EventBus|for initializing the executor (state transition function). mempool is also used in the manager to check for availability of transactions for lazy block production
102102
dalc|da.DAClient|the data availability light client used to submit and retrieve blocks to DA network
103103
headerStore|*goheaderstore.Store[*types.SignedHeader]|to store and retrieve block headers gossiped over the P2P network
@@ -290,7 +290,7 @@ flowchart TD
290290
* Makes `GetHeightPair(daHeight)` request to get both header and data
291291
* Handles three possible outcomes:
292292
* `Success`: Process retrieved header and data
293-
* `NotFound`: No rollup block at this DA height (normal case)
293+
* `NotFound`: No chain block at this DA height (normal case)
294294
* `Error`: Retry with backoff
295295

296296
3. **Error Handling**:
@@ -316,7 +316,7 @@ The retrieval system uses persistent caches for both headers and data:
316316

317317
For more details on DA integration, see the [Data Availability specification](./da.md).
318318

319-
#### Out-of-Order Rollup Blocks on DA
319+
#### Out-of-Order Chain Blocks on DA
320320

321321
Rollkit should support blocks arriving out-of-order on DA, like so:
322322
![out-of-order blocks](./out-of-order-blocks.png)

0 commit comments

Comments
 (0)