You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Aug 7, 2025. It is now read-only.
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.
43
43
44
-
## Restart rollup after running out of funds
44
+
## Restart chain after running out of funds
45
45
46
46
This section covers the case that the node that
47
47
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.
49
49
50
50
In this example, we're using Celestia's [Mocha testnet](https://docs.celestia.org/how-to-guides/mocha-testnet/)
51
51
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:
58
58
ErrTxInMempoolCache = Register(RootCodespace, 19, "tx already in mempool")
59
59
```
60
60
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.
62
62
63
63
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.
64
64
@@ -82,20 +82,20 @@ cd $HOME && cd celestia-node
82
82
./cel-key list --keyring-backend test --node.type light --p2p.network <network>
83
83
```
84
84
85
-
### 🛑 Stopping your rollup {#stopping-your-rollup}
85
+
### 🛑 Stopping your chain {#stopping-your-chain}
86
86
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.
88
88
89
89
### ⛽ Increase the gas fee {#increase-gas-fee}
90
90
91
91
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.
92
92
93
-
### 🔁 Restarting your rollup {#restarting-your-rollup}
93
+
### 🔁 Restarting your chain {#restarting-your-chain}
94
94
95
-
Follow the [restart rollup](#restart-rollup) section above.
95
+
Follow the [restart chain](#restart-chain) section above.
96
96
97
97
### 🛢️ Reduce gas fee & restart again {#reduce-gas-fee-restart-again}
98
98
99
99
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:
100
100
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.
Copy file name to clipboardExpand all lines: learn/about.md
+8-8Lines changed: 8 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff 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
69
69
70
70
## How can you use Rollkit?
71
71
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.
73
73
74
-
### Rollup with any execution environment
74
+
### Chain with any execution environment
75
75
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.
77
77
78
-
### Sovereign rollup with Cosmos SDK
78
+
### Sovereign chain with Cosmos SDK
79
79
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.
81
81
Cosmos-SDK has great [documentation](https://docs.cosmos.network/main) and tooling that developers can leverage to learn.
82
82
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.
84
84
85
85
### Build a settlement layer
86
86
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.
89
89
Think of settlement layers as a special type of execution layer.
Copy file name to clipboardExpand all lines: learn/config.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -98,7 +98,7 @@ db_path: "data"
98
98
### Chain ID
99
99
100
100
**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.
102
102
103
103
**YAML:**
104
104
Set this in your configuration file at the top level:
@@ -354,7 +354,7 @@ da:
354
354
### DA Namespace
355
355
356
356
**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.
Copy file name to clipboardExpand all lines: learn/data-availability.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Data Availability in Rollkit
2
2
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.
Copy file name to clipboardExpand all lines: learn/execution.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,14 +1,14 @@
1
1
# Execution Layers in Rollkit
2
2
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.
4
4
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.
6
6
7
7
## Supported Execution Layers
8
8
9
9
### Cosmos SDK Execution Layer
10
10
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.
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.
4
4
5
5
## Sequencing Interface {#sequencing-interface}
6
6
7
7
[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.
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.
26
42
There are several implementations of the sequencer but for now only one is available in Rollkit.
27
43
28
44
*[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.
Copy file name to clipboardExpand all lines: learn/sequencing/single.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Single Sequencer
2
2
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.
4
4
5
5
## How the Single Sequencer Model Works
6
6
@@ -19,10 +19,10 @@ A single sequencer is the simplest sequencing architecture for a Rollkit-based r
19
19
20
20
4.**Data Availability Posting:**
21
21
- 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.
23
23
24
24
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.
Copy file name to clipboardExpand all lines: learn/specs/block-manager.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -97,7 +97,7 @@ The block manager is initialized using several parameters as defined below:
97
97
signing key|crypto.PrivKey|used for signing blocks and data after creation
98
98
config|config.BlockManagerConfig|block manager configurations (see config options below)
99
99
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)
101
101
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
102
102
dalc|da.DAClient|the data availability light client used to submit and retrieve blocks to DA network
103
103
headerStore|*goheaderstore.Store[*types.SignedHeader]|to store and retrieve block headers gossiped over the P2P network
@@ -290,7 +290,7 @@ flowchart TD
290
290
* Makes `GetHeightPair(daHeight)` request to get both header and data
291
291
* Handles three possible outcomes:
292
292
*`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)
294
294
*`Error`: Retry with backoff
295
295
296
296
3.**Error Handling**:
@@ -316,7 +316,7 @@ The retrieval system uses persistent caches for both headers and data:
316
316
317
317
For more details on DA integration, see the [Data Availability specification](./da.md).
318
318
319
-
#### Out-of-Order Rollup Blocks on DA
319
+
#### Out-of-Order Chain Blocks on DA
320
320
321
321
Rollkit should support blocks arriving out-of-order on DA, like so:
0 commit comments