Skip to content

Commit 0634009

Browse files
authored
Merge pull request #42 from madara-alliance/feat/prod
Feat/prod
2 parents caf4162 + 22743a0 commit 0634009

27 files changed

+894
-409
lines changed

cspell.json

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
"words": [],
55
"flagWords": [],
66
"ignorePaths": [],
7+
"ignoreWords": ["Rollups", "Blockifier", "Starklone", "KLONE"],
78
"dictionaryDefinitions": [
89
{
910
"name": "starknet",

pages/_meta.en.json

+15-23
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,6 @@
99
"pagination": false
1010
}
1111
},
12-
"Installation": {
13-
"title": "Installation"
14-
},
1512
"quickstart": {
1613
"title": "Quickstart"
1714
},
@@ -23,18 +20,12 @@
2320
"overview": {
2421
"title": "Overview"
2522
},
26-
"start": {
27-
"title": "Start a self-hosted chain"
28-
},
2923
"chain-architecture": {
3024
"title": "Architecture"
3125
},
3226
"chain-configuration": {
3327
"title": "Configuration"
3428
},
35-
"chain-management": {
36-
"title": "Management"
37-
},
3829

3930
"--- NODE OPERATORS": {
4031
"title": "NODE OPERATORS",
@@ -43,6 +34,9 @@
4334
"introduction": {
4435
"title": "Overview"
4536
},
37+
"installation": {
38+
"title": "Installation"
39+
},
4640
"fundamentals": {
4741
"title": "Fundamentals"
4842
},
@@ -55,24 +49,13 @@
5549
"display": "hidden"
5650
},
5751

58-
"--- DEVNET": {
59-
"title": "DEVNET",
60-
"type": "separator"
61-
},
62-
"chain-devnet": {
63-
"title": "Devnet"
64-
},
65-
66-
"--- Tutorials": {
52+
"--- TUTORIALS": {
6753
"title": "TUTORIALS",
6854
"type": "separator"
6955
},
7056
"tutorials-full-node": {
7157
"title": "Full Node"
7258
},
73-
"tutorials-sequencer": {
74-
"title": "Sequencer"
75-
},
7659
"tutorials-chain": {
7760
"title": "App Chain"
7861
},
@@ -81,8 +64,17 @@
8164
"title": "ABOUT",
8265
"type": "separator"
8366
},
84-
"about": {
85-
"type": "page"
67+
"releases": {
68+
"title": "Releases Notes"
69+
},
70+
"liscense": {
71+
"title": "Liscence"
72+
},
73+
"support": {
74+
"title": "Support"
75+
},
76+
"credits": {
77+
"title": "Credits"
8678
},
8779
"contact": {
8880
"title": "Contact ↗",

pages/about/_meta.en.json

-25
This file was deleted.

pages/about/contribute.en.mdx

-1
This file was deleted.

pages/about/ecosystem.en.mdx

-1
This file was deleted.

pages/about/version.en.mdx

-1
This file was deleted.
+40-6
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
2-
title: Sequencer
2+
title: What is a sequencer?
33
lang: en-US
4-
description: A guide to monitor your node using Sequencer.
4+
description: Learn about what is a Sequencer
55
---
66

77
import { Steps } from "nextra-theme-docs";
@@ -15,8 +15,42 @@ import {
1515
} from "@fortawesome/free-brands-svg-icons";
1616
import { Tabs, Tab } from "nextra/components";
1717

18-
# 🚧 Sequencer
18+
# Sequencer
1919

20-
<Callout type="warning" emoji="⚠️">
21-
This section is still under construction.
22-
</Callout>
20+
Sequencers are a crucial component of the Starknet network, playing a role similar to validators in Ethereum. They serve as the backbone of the Starknet ecosystem, responsible for ushering transactions into the system.
21+
22+
In the context of Validity Rollups like Starknet, sequencers are specialized entities that handle transaction processing. Their primary function is to provide transaction capacity to the network, rather than security (which is handled differently in this architecture).
23+
24+
## How Sequencers Work
25+
26+
Sequencers follow a systematic method for processing transactions, which can be broken down into four main steps:
27+
28+
1. **Sequencing**: Sequencers collect transactions from users and order them.
29+
2. **Executing**: After collection, sequencers process these transactions.
30+
3. **Batching**: For efficiency, transactions are grouped together in batches.
31+
4. **Block Production**: Finally, sequencers produce blocks that contain these batches of processed transactions.
32+
33+
This process allows Validity Rollups like Starknet to handle a higher volume of transactions while maintaining the security of the underlying Ethereum network, thus enhancing scalability without compromising on security.
34+
35+
## The Role of Sequencers in Transaction Flow
36+
37+
To understand how sequencers fit into the broader Starknet ecosystem, let's look at the transaction flow:
38+
39+
1. A transaction is received by a gateway (which serves as the Mempool) and is marked as `RECEIVED` (See [Transaction Flow](https://docs.starknet.io/architecture-and-concepts/network-architecture/starknet-architecture-overview#transaction-flow)).
40+
2. The sequencer then incorporates the transaction into the network state and tags it as `ACCEPTED_ON_L2`.
41+
3. After the sequencer has done its job, a prover executes the operating system on the new block, calculates its proof, and submits it to Layer 1 (Ethereum) for verification.
42+
43+
## Requirements for Sequencers
44+
45+
Sequencers play a critical role in the network's smooth functioning, and as such, they must meet certain requirements:
46+
47+
1. **Reliability**: Sequencers need to be highly reliable to ensure consistent transaction processing.
48+
2. **Availability**: High availability is crucial as sequencers must be ready to process transactions at all times.
49+
3. **Computational Power**: Sequencers require powerful machines to perform their role effectively, as they must process transactions rapidly and continuously.
50+
4. **Network Connectivity**: Well-connected machines are necessary to ensure efficient communication within the network.
51+
52+
## Future of Sequencers in Starknet
53+
54+
It's worth noting that Starknet is actively moving towards decentralization [Starknet Architecture Overview](https://docs.starknet.io/architecture-and-concepts/network-architecture/starknet-architecture-overview#starknet-architecture-overview). The current roadmap for Starknet includes plans to decentralize the sequencer role. This shift towards decentralization will allow more participants to become sequencers, contributing to the overall robustness and resilience of the network.
55+
56+
Sequencers are a vital component of the Starknet ecosystem, responsible for ordering, executing, and batching transactions into blocks. Their efficient operation is crucial for Starknet's ability to handle high transaction volumes while maintaining security and scalability.
-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
11
{
2-
"overview": "Overview",
32
"parameters": "Parameters"
43
}

pages/chain-configuration/overview.en.mdx

-23
This file was deleted.

pages/chain-devnet/_meta.en.json

-3
This file was deleted.

pages/chain-management/_meta.en.json

-3
This file was deleted.
File renamed without changes.

pages/index.en.mdx

+10-3
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ import {
1717
PanelsTopLeft,
1818
Package,
1919
Rocket,
20+
Wrench,
21+
BrainCircuit,
2022
} from "lucide-react";
2123

2224
# Welcome to the Madara Documentation
@@ -29,7 +31,7 @@ Madara is an open-source framework that makes it simple for you to deploy your o
2931

3032
## Madara Supports the Following Use Cases
3133

32-
- **Appchain Stack:** Allows to easily deploy your own Starknet instance to host you application
34+
- **App Chain Stack:** Allows to easily deploy your own Starknet instance to host you application
3335
- **Full Node:** Enables to interact with different Starknet networks
3436
- **Devnet:** Simulates a Starknet network to test out you Cairo smart contracts
3537

@@ -68,12 +70,17 @@ Take a look at these essential tools to get started with Madara and Cairo.
6870
<Card
6971
title="Madara Repo"
7072
href="https://github.com/madara-alliance/madara"
71-
icon={<Computer size={24} color="#ff000d" />}
73+
icon={<Wrench size={24} color="#ff000d" />}
7274
/>
7375
<Card
7476
title="Bootstrapper"
7577
href="https://github.com/madara-alliance/madara-bootstrapper"
76-
icon={<Power size={24} color="#ff000d" />}
78+
icon={<Rocket size={24} color="#ff000d" />}
79+
/>
80+
<Card
81+
title="Snos"
82+
href="https://github.com/keep-starknet-strange/snos"
83+
icon={<BrainCircuit size={24} color="#ff000d" />}
7784
/>
7885
</Cards>
7986
{/*
File renamed without changes.

pages/quickstart/_meta.en.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"quickstart_1": {
3-
"href": "/quickstart/quickstart_1"
2+
"launch": {
3+
"title": "Launch your App Chain!"
44
}
55
}

pages/start.en.mdx pages/quickstart/launch.en.mdx

+24-3
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,36 @@ import {
1515
} from "@fortawesome/free-brands-svg-icons";
1616
import { Tabs, Tab } from "nextra/components";
1717

18-
# How to Start a Self-Hosted Chain with Madara
18+
# How to launch your first App-Chain with Madara
1919

2020
This guide will walk you through the process of building, configuring, testing, and launching your own self-hosted chain using Madara. Unlike the [Node operators](/introduction) section, which focuses on understanding how Madara works as a client, here we explain in a more application-oriented way how to run and customize your own chain.
2121

22-
## Build Your Chain
22+
## Quick start tutorial
23+
24+
As an introduction to the following section, we created a video tutorial to give you more context on what happens when you launch your own App Chain. It uses an installation script that will guide you through all the steps of a minimalist setup of the Madara client.
25+
26+
<Steps>
27+
### Download and launch the installer
28+
29+
```bash
30+
curl -sL https://madara.build/launcher.sh && chmod +x launcher && ./launcher
31+
```
32+
33+
### Follow the tutorial
34+
35+
</Steps>
36+
37+
<Callout type="info" emoji="ℹ️">
38+
We recommend continuing with the [Next
39+
Section](#build-your-chain-from-source), which will help you better understand
40+
the different components of Madara by building from source.
41+
</Callout>
42+
43+
## Build Your Chain from source
2344

2445
### Understand Madara Components
2546

26-
Before diving into installation, it's important to understand the fundamental components of Madara and how it functions as a Starknet client.
47+
Now that you have some context around the Madara client, it's important to understand the fundamental components of Madara and how it functions as a Starknet client.
2748

2849
- **Chain Architecture**: Madara currently works exactly like Starknet mainnet with a centralized sequencer that will produce the state of your chain. This one will then serve the data for proving trough SNOS and Sharp (the zk-stark prover). This means that your sequencer is the only one capable of producing state. You can then connect as many full nodes as you like to it. We recommend you to familiarize yourself with the [architecture](https://github.com/madara-alliance/madara) to understand how the entire flow works.
2950

0 commit comments

Comments
 (0)