Kraken is a Starknet modular decentralized sequencer implementation.

Overview

Lambda Starknet Sequencer

A Starknet decentralized sequencer implementation.

Getting started

The objective of this project is to create an L2 decentralized sequencer for Starknet. This will be one of the multiple implementations that will follow the decentralized sequencer.

The sequencer can be broken down into (roughly) 3 interchangeable modules:

  • Mempool (Narwhal) which stores received transactions
  • Consensus (Bullshark, Tendermint, Hotstuff) which orders transactions stored by the mempool
  • Execution Engine, which executes the transactions on the state machine. The OS is given by Starknet in Rust and execution is deferred to Sierra2MLIR or Cairo-rs.

By interchangeable modules we mean that the underlying algorithm implementation in the Mempool communication, the Consensus protocol or the Execution Engine can be changed and configured.

Additionally, in order to maintain and persist state, there is a State module which implements PhotonDB in a first iteration.

Reference links

Starknet

Other implementations

Comments
  • Introduce RPC endpoint

    Introduce RPC endpoint

    Closes #1

    This PR introduces the RPC endpoint according to the OpenRPC specs: https://github.com/starkware-libs/starknet-specs/blob/master/api/release.md

    Types were generated by this generator, and the code was updated to use cairo-felt instead the other internal types, so some adjustments had to be made to the serializers/deserializers.

    To-do:

    • Test serializers and deserializers
    • Create the endpoint upon starting the program
    opened by igamigo 0
  • Implement basic RPC interface

    Implement basic RPC interface

    Use jsonrpsee to implement a basic RPC API with mock responses that conforms to the OpenRPC specs: https://github.com/starkware-libs/starknet-specs/tree/master/api This will allow for a basic interface that is compatible with starknet clients such as starknet-rs apps

    opened by igamigo 0
  • Basic block struct and creation

    Basic block struct and creation

    Investigate block production and implement a basic form of it.

    Starknet docs block article: https://docs.starknet.io/documentation/architecture_and_concepts/Blocks/header/

    https://github.com/keep-starknet-strange/madara/blob/main/crates/primitives/starknet/src/block/mod.rs

    https://github.com/eqlabs/pathfinder/blob/e1a716c6a4181be17400c5aad382ffd3e60d95df/crates/pathfinder/src/state/block_hash.rs

    opened by igamigo 1
  • Implement basic storage layer

    Implement basic storage layer

    Implement storage layer that has a simple K/V API. It can be based on any DB (RocksDB, libmdbx) for now but will probably change later on. Reference implementation in papyrus_storage crate in Papyrus repo

    opened by igamigo 0
  • Implement basic concept of mempool

    Implement basic concept of mempool

    When a transaction arrives (for instance through an addInvokeTransaction), there should be a queue that the sequencer can use in a first-come-first-served way in order to execute them and that does not block the arrival of new transactions whenever one is executing. Duplicate txs should be skipped. Reference example: https://github.com/lambdaclass/consensus-workbench/blob/main/src/blockchain/node.rs

    opened by igamigo 0
Owner
Lambdaclass
A venture studio and a engineering powerhouse at the same time
Lambdaclass
Starknet Stack let's you easily create new Cairo Starknet chains with their own sequencers, provers and verifiers

Starknet Stack flowchart LR A("Client") ==>|"Starknet Transactions"| subGraph0["Sequencer"] subGraph0 -.->|"Blocks with txs"| 300319["Watcher prover

Lambdaclass 7 Jul 11, 2023
🐺 Starknet Rust types 🦀

types-rs ?? Starknet Rust types ?? This repository is an initiative by a group of maintainers to address the fragmentation in the Starknet Rust ecosys

Starknet 22 Jun 2, 2023
Blazing fast toolkit for developing Starknet contracts.

Starknet Foundry Blazingly fast toolkit for developing Starknet contracts designed & developed by ex Protostar team from Software Mansion based on nat

Foundry 149 Aug 1, 2023
Exploratory work on abigen in rust for Starknet 🦀

Starknet abigen for rust bindings This exploratory work aims at generating rust bindings from a contract ABI. Before the first release, we are termina

null 9 Sep 11, 2023
Channel some Ki with Lua scripts for sending transactions to Starknet, powered by Rust.

Kipt Kipt is leveraging the simplicity of Lua scripts to manage Starknet contracts using starknet-rs under the hood. With few lines, you can declare,

null 3 Nov 3, 2023
An implementation of the paper "Honey Badger of BFT Protocols" in Rust. This is a modular library of consensus.

Honey Badger Byzantine Fault Tolerant (BFT) consensus algorithm Welcome to a Rust library of the Honey Badger Byzantine Fault Tolerant (BFT) consensus

null 335 Dec 25, 2022
Open source Rust implementation of the Witnet decentralized oracle protocol, including full node and wallet backend 👁️🦀

witnet-rust is an open source implementation of the Witnet Decentralized Oracle Network protocol written in Rust. Components witnet-rust implements ma

The Witnet Project 155 Nov 21, 2022
Highly modular & configurable hash & crypto library

Octavo Highly modular & configurable hash & crypto library written in pure Rust. Installation [dependencies] octavo = { git = "https://github.com/libO

Octavo Developers 139 Dec 29, 2022
A small and modular media manager

Bookshelf - a small and modular media manager Bookshelf is made for managing media, mainly books. Modules are to be made by the user (or stolen from t

Chocolate Overflow 33 Jul 21, 2022
Foundry is a blazing fast, portable and modular toolkit for Ethereum application development written in Rust.

foundry Foundry is a blazing fast, portable and modular toolkit for Ethereum application development written in Rust. Foundry consists of: Forge: Ethe

Georgios Konstantopoulos 5.1k Jan 9, 2023
dWallet Network, a composable modular signature network is the home of dWallets

Welcome to dWallet Network dWallet Network, a composable modular signature network is the home of dWallets. A dWallet is a noncollusive and massively

dWallet Labs 8 Feb 26, 2024
Dank - The Internet Computer Decentralized Bank - A collection of Open Internet Services - Including the Cycles Token (XTC)

Dank - The Internet Computer Decentralized Bank Dank is a collection of Open Internet Services for users and developers on the Internet Computer. In t

Psychedelic 56 Nov 12, 2022
Microunit is a decentralized unit orchestration framework.

Microunit is a decentralized unit orchestration framework.

Engula 13 Oct 10, 2021
cashio is a decentralized stablecoin made for the people, by the people.

cashio is a decentralized stablecoin made for the people, by the people. We're in active development. For the latest updates, please join our c

Cashio App 42 Sep 29, 2022
Web-Scale Blockchain for fast, secure, scalable, decentralized apps and marketplaces.

Building 1. Install rustc, cargo and rustfmt. $ curl https://sh.rustup.rs -sSf | sh $ source $HOME/.cargo/env $ rustup component add rustfmt When buil

Solana Foundation 9.8k Jan 3, 2023
Subsocial full node with Substrate/Polkadot pallets for decentralized communities: blogs, posts, comments, likes, reputation.

Subsocial Node by DappForce Subsocial is a set of Substrate pallets with web UI that allows anyone to launch their own decentralized censorship-resist

DappForce 74 Nov 24, 2022
The Decentralized and Scaled Blockchain

Massa: The Decentralized and Scaled Blockchain Massa is a truly decentralized blockchain controlled by thousands of people. With the breakthrough mult

null 1.2k Dec 31, 2022
Polkadex - An Orderbook-based Decentralized Exchange using the Substrate Blockchain Framework.

What is Polkadex? ?? Polkadex is a Open Source, Decentralized Exchange Platform made using Substrate Blockchain Framework that provides traders with t

Polkadex 243 Dec 16, 2022
Nym provides strong network-level privacy against sophisticated end-to-end attackers, and anonymous transactions using blinded, re-randomizable, decentralized credentials.

The Nym Privacy Platform The platform is composed of multiple Rust crates. Top-level executable binary crates include: nym-mixnode - shuffles Sphinx p

Nym 653 Dec 26, 2022