35
35
</a >
36
36
</div >
37
37
38
- # ⚡ Madara: Starknet Sequencer 👉👈
38
+ # ⚡ Madara App Chain Stack
39
39
40
- Welcome to ** Madara** , a blazing fast ⚡ [ Starknet] ( https://www.starknet.io/ )
41
- sequencer designed to make your projects soar!
40
+ Welcome to ** Madara** , the modular stack to build chains using
41
+ [ Cairo] ( https://book.cairo-lang.org/title-page.html ) and the
42
+ [ Starknet] ( https://www.starknet.io/ ) technology. Apps like dYdX V3, Immutable
43
+ and Sorare have been using StarkEx for scaling for a while and now with Madara,
44
+ it's open source for everyone to use.
42
45
43
- Built on the robust Substrate framework and fast, thanks to Rust 🦀, Madara
44
- delivers unmatched performance and scalability to power your Starknet-based
45
- Validity Rollup chain.
46
+ Madara is built on the [ Substrate] ( https://substrate.io/ ) framework which not
47
+ only makes it modular but also gives it access to years of dev tooling,
48
+ libraries and a strong developer community. It is specifically helpful if you
49
+ want to own more of the stack and get more control over your chain.
46
50
47
- Dive into the world of Madara and join our passionate community of contributors!
48
- Together, we're pushing the boundaries of what's possible within the Starknet
49
- ecosystem.
51
+ ## 📚 Documentation
50
52
51
- 🚀 Discover the unparalleled flexibility and might of Madara, your gateway to
52
- launching your very own Starknet appchain or L3. Harness the prowess of Cairo,
53
- while maintaining complete control over your custom appchain, tailored to your
54
- specific requirements. Madara is designed to empower a multitude of projects,
55
- fueling growth within the Starknet ecosystem.
53
+ Get started with our comprehensive documentation, which covers everything from
54
+ project structure and architecture to benchmarking and running Madara:
55
+
56
+ - [ Getting Started Guide] ( ./docs/getting-started.md )
57
+ - [ Architecture Overview] ( ./docs/architecture.md )
58
+ - [ Chain Genesis Information] ( ./docs/genesis.md )
59
+ - [ Project Structure] ( ./docs/project-structure.md )
60
+ - [ Run benchmark yourself] ( ./benchmarking/README.md )
61
+
62
+ ## 📣 Building App Chains
63
+
64
+ For many use cases, you do not need to fork this repo to build your app chain.
65
+ By adding changes using forking, you will have to periodically rebase (and solve
66
+ conflicts) to remain updated with the latest version of Madara. Madara by
67
+ default provides
68
+
69
+ - ` pallet_starknet ` : Adds the CairoVM to Substrate which allows you to deploy
70
+ and execute Cairo contracts.
71
+ - ` Starknet RPC ` : Adds all the Starknet RPC calls to your chain so that it's
72
+ compatible with all RPC tools like starknet-js, wallets, etc.
73
+ - ` DA Interface ` : A general interface which allows you to use any DA layer like
74
+ ` Avail ` , ` Celestia ` , ` Ethereum ` etc.
75
+ - ` Proving ` : Running the Starknet OS which is the runtime logic in Cairo so that
76
+ it can be proven on the L1.
77
+
78
+ So for many use cases where you want to change common things like
79
+
80
+ - Configuration
81
+ [ parameters] ( https://github.com/keep-starknet-strange/madara/blob/d90cb1a3ce5389f5f530ee5eaf3c3d4c96561b12/crates/runtime/src/pallets.rs#L33 )
82
+ for example block time, maximum steps etc.
83
+ - DA layer
84
+ - Genesis state
85
+ - Add new off chain workers
86
+ - Add new pallets
87
+
88
+ you don't need to fork the Madara repo. Instead, you can import the relevant
89
+ code as crates/pallets. We have created an
90
+ [ app-chain-template] ( https://github.com/keep-starknet-strange/madara-app-chain-template )
91
+ which imports Madara as a library to show an example and would recommend you
92
+ start from here. For other more detailed use cases like
93
+
94
+ - Adding a new syscall to the cairo VM
95
+ - Changing the runtime logic to deviate from Starknet's logic
96
+
97
+ You should consider forking parts of Madara.
56
98
57
99
## 📣 Peripheral repositories
58
100
59
- - [ Madara Explorer] ( https://github.com/lambdaclass/madara_explorer ) by the great
60
- [ LambdaClass] ( https://lambdaclass.com/ ) team 🫶: A block explorer for Madara.
101
+ - [ Madara Docsite] ( https://github.com/keep-starknet-strange/madara-docs ) : The
102
+ source code of the Madara documentation website. Deployed on
103
+ ` https://docs.madara.zone ` .
104
+ - [ Stark Compass Explorer] ( https://github.com/lambdaclass/madara_explorer ) by
105
+ the [ LambdaClass] ( https://lambdaclass.com/ ) team : An open source block
106
+ explorer for Starknet based chains.
61
107
- [ Madara Infra] ( https://github.com/keep-starknet-strange/madara-infra ) : A
62
108
collection of scripts and tools to deploy and manage Madara on different
63
109
environments (e.g. AWS, docker, ansible, etc.). It also contains the
64
110
[ Starknet Stack] ( https://github.com/keep-starknet-strange/madara-infra/blob/main/starknet-stack/docker-compose.yml )
65
111
demo ` docker-compose ` file.
66
- - [ Madara Kit Application] ( https://github.com/keep-starknet-strange/madara-app ) :
67
- A simple application that demonstrates how to use Madara. Deployed on
68
- ` https://app.madara.zone ` .
69
- - [ Madara Docsite] ( https://github.com/keep-starknet-strange/madara-docs ) : The
70
- source code of the Madara documentation website. Deployed on
71
- ` https://docs.madara.zone ` .
72
112
- [ Madara Tsukuyomi] ( https://github.com/keep-starknet-strange/madara-tsukuyomi ) :
73
113
The source code of the Madara Desktop App. A friendly GUI to start a Madara
74
114
node and interact with it.
75
115
- [ App Chain Template] ( < (https://github.com/keep-starknet-strange/madara-app-chain-template) > ) :
76
116
A ready to use template that allows you to easily start an app chain.
77
117
78
- ## 📣 Building App Chains
79
-
80
- > Do NOT fork this repo and build your app chain on top unless completely
81
- > necessary. By adding changes using forking, you will have to periodically
82
- > rebase (and solve conflicts) to remain updated with the latest version of
83
- > Madara.
84
-
85
- One of the main features of Madara is to allow users to start their app chains
86
- that support Cairo contracts and Starknet like blocks. Hence, to make it easy
87
- for users to build a custom app chain, we have created an
88
- [ app-chain-template] ( https://github.com/keep-starknet-strange/madara-app-chain-template )
89
- which imports Madara as a pallet. This removes all the boilerplate code and
90
- allows you to focus on code only relevant to your app chain. Moreover, updating
91
- Madara is as simple as updating the pallet version.
92
-
93
118
## 🌟 Features
94
119
95
120
- Starknet sequencer 🐺
@@ -99,17 +124,6 @@ Madara is as simple as updating the pallet version.
99
124
- Comprehensive documentation 📚
100
125
- Active development and community support 🤝
101
126
102
- ## 📚 Documentation
103
-
104
- Get started with our comprehensive documentation, which covers everything from
105
- project structure and architecture to benchmarking and running Madara:
106
-
107
- - [ Architecture Overview] ( ./docs/architecture.md )
108
- - [ Chain Genesis Information] ( ./docs/genesis.md )
109
- - [ Project Structure] ( ./docs/project-structure.md )
110
- - [ Getting Started Guide] ( ./docs/getting-started.md )
111
- - [ Run benchmark yourself] ( ./benchmarking/README.md )
112
-
113
127
## 🏗️ Build & Run
114
128
115
129
Want to dive straight in? Check out our
0 commit comments