---
# System prepended metadata

title: Workshop

---

StarkWare @ ETH Munich

**Workshop**

Date: Friday 11.08.23
Time: 22:30

Goal: deploying Cairo contracts to Madara, the decentralized sequencer written in Substrate. 

Madara is a sequencer for ordering transactions for scaling Ethereum. This sequencer was written with a framework created by Parity, called Substrate. Madara isn’t part of the Polkadot ecosystem, but is part of Starknet, a layer 2 scaling solution for Ethereum using validity proofs. Polkadot js apps is the frontend used to see what goes on in a Substrate chain, and to interact with the runtime. It is important to note, though, that generally Starknet, and Madara, process Cairo contracts, not Solidity. EVM compatibility is achievable by deploying the zkEVM Kakarot, but this is outside out of the scope of this hackathon (you are welcome to ask us about it at the event!). 

Basics of Cairo. Overview of the tools to develop and build Cairo contracts ([scarb](https://docs.swmansion.com/scarb/docs/cheatsheet.html) package manager), and [starknetjs](https://www.starknetjs.com/) to deploy your contracts and interact with them. Follow along with the demo. 

Any Cairo contract can be deployed directly to Starknet, but it would go through the centralized sequencer maintained by StarkWare. In order to provide liveness and censorship resistance, a decentralized sequencer that allows anyone to participate in the network, is necessary. Hence, Madara is a step towards decentralization :) 

Find the [prerequisites](https://github.com/lana-shanghai/workshop-madara). Optionally build and run Madara locally, or use the dedicated [testnet](https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Feth-munich.madara.zone#/explorer).

**Bounties**

2x 1k 

Deploy an interesting dapp to StarkNet Goerli or the dedicated testnet created for the hackathon. View the block production on the [explorer](https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Feth-munich.madara.zone#/explorer). 

1. Cairo is a provable language that allows to create a proof that a certain state change has been done correctly. We would appreciate to see: 
* auctions, 
* voting, 
* games, 
* defi, 
* or any other new app.

2. Another option is to contribute to the [alexandria](https://github.com/keep-starknet-strange/alexandria), the Cairo library for algorithms and data structures. 

Come speak to Lucas and Lana during the hackathon to discuss ideas or get help. 

Extra resources:

Your first Cairo language program: https://book.cairo-lang.org/ch99-01-02-a-simple-contract.html

Your first StarkNet contract deployment: https://book.starknet.io/chapter_1/first_contract.html