Skip to content

Commit

Permalink
Sb/basic structure (#4)
Browse files Browse the repository at this point in the history
  • Loading branch information
joroshiba committed Oct 17, 2023
1 parent e2830aa commit 381499d
Show file tree
Hide file tree
Showing 27 changed files with 560 additions and 142 deletions.
5 changes: 5 additions & 0 deletions docs/dev-cluster/1-overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,11 @@ sidebar_position: 1

# Dev-Cluster Overview

:::tip
To deploy your own rollup on the Astria Dusknet devnet, check out the
[instructions here](/docs/running-a-rollup-on-astria-dusknet/overview/)!
:::

Astria's Shared Sequencer Network allows multiple rollups to share a single decentralized network of sequencers that’s permissionless to join. This shared sequencer network provides out-of-the-box censorship resistance, fast block confirmations, and atomic cross-rollup inclusion guarantees.

The Astria [dev-cluster](https://github.com/astriaorg/dev-cluster) is the
Expand Down
9 changes: 7 additions & 2 deletions docs/dev-cluster/2-run-dev-cluster-locally.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,12 @@ sidebar_position: 2

# Running the Dev Cluster Locally

### Installation
:::tip
To deploy your own rollup on the Astria Dusknet devnet, check out the
[instructions here](/docs/running-a-rollup-on-astria-dusknet/overview/)!
:::

## Installation
You will need to pull both the [dev-cluster](https://github.com/astriaorg/dev-cluster) and [astria-web3](https://github.com/astriaorg/astria-web3) repos from our github.

Install the necessary dependencies and tools listed for each repo:
Expand All @@ -19,7 +24,7 @@ For contract deployment:

* Forge (part of Foundry) - https://book.getfoundry.sh/getting-started/installation

### Deployment
## Deployment

:::tip
Make sure that Docker is running before deploying with `just`.
Expand Down
7 changes: 6 additions & 1 deletion docs/dev-cluster/3-deploy-a-local-rollup.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,12 @@ sidebar_position: 3

# Running a Local Rollup

### Faucet, Block Explorer, and Test Data
:::tip
To deploy your own rollup on the Astria Dusknet devnet, check out the
[instructions here](/docs/running-a-rollup-on-astria-dusknet/overview/)!
:::

## Faucet, Block Explorer, and Test Data
With the dev-cluster running, you can then deploy a rollup, block explorer, and
faucet by running the following command in the terminal withing the dev-cluster:

Expand Down
5 changes: 5 additions & 0 deletions docs/dev-cluster/4-run-multiple-rollups-locally.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,11 @@ sidebar_position: 4

# Run Multiple Rollups Locally

:::tip
To deploy your own rollup on the Astria Dusknet devnet, check out the
[instructions here](/docs/running-a-rollup-on-astria-dusknet/overview/)!
:::

At Astria we believe strongly that deploying a rollup should be as easy as deploying a smart contract. The dev-cluster shows this is indeed possible.

Navigate back to the [dev-cluster](https://github.com/astriaorg/dev-cluster)
Expand Down
5 changes: 5 additions & 0 deletions docs/dev-cluster/5-shutdown.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,11 @@ sidebar_position: 5

# Shutting Down the Cluster

:::tip
To deploy your own rollup on the Astria Dusknet devnet, check out the
[instructions here](/docs/running-a-rollup-on-astria-dusknet/overview/)!
:::

## Deleting Specific Rollups

To delete a specific rollup deployment, you can use the following command:
Expand Down
2 changes: 1 addition & 1 deletion docs/dev-cluster/_category_.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"label": "Local Dev Cluster",
"position": 2,
"position": 3,
"link": {
"type": "doc",
"id": "dev-cluster/overview"
Expand Down
5 changes: 5 additions & 0 deletions docs/overview-of-astria/1-introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,11 @@ sidebar_position: 1

# Introduction

:::tip
To deploy your own rollup on the Astria Dusknet devnet, check out the
[instructions here](/docs/running-a-rollup-on-astria-dusknet/overview/)!
:::

Astria is a shared sequencing network that allows many rollups to share a single
decentralized network of sequencers. These sequencers are simple and
permissionless to join, completely replacing centralized sequencers.
Expand Down
5 changes: 5 additions & 0 deletions docs/overview-of-astria/2-why-decentralized-sequencers.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,11 @@ sidebar_position: 2

# Why Decentralized Sequencers?

:::tip
To deploy your own rollup on the Astria Dusknet devnet, check out the
[instructions here](/docs/running-a-rollup-on-astria-dusknet/overview/)!
:::

Centralization is antithetical to crypto. And yet, today’s rollups almost universally depend on a single sequencer. Centralized sequencers provide fast transaction confirmations and reduce costs by batching and compressing transactions. However, these benefits come at the cost of relying on a single trusted actor for liveness and censorship resistance.

**Sacrificing decentralization for an improved user experience is an unacceptable Faustian bargain.**
Expand Down
7 changes: 6 additions & 1 deletion docs/overview-of-astria/3-cross-rollup-composability.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@
sidebar_position: 3
---

# Croll-Rollup Composability
# Cross-Rollup Composability

:::tip
To deploy your own rollup on the Astria Dusknet devnet, check out the
[instructions here](/docs/running-a-rollup-on-astria-dusknet/overview/)!
:::

Because Astria handles the transaction ordering for multiple rollups, it’s able to provide guarantees that transactions are only included as part of an atomic bundle. This allows users to specify that a transaction on Rollup A can be included in a block if and only if a different transaction on Rollup B is also included in the same block. By enabling such conditional transaction inclusion, Astria unlocks exciting possibilities such as atomic cross-rollup arbitrage.
5 changes: 5 additions & 0 deletions docs/overview-of-astria/4-maintain-sovereignty.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,11 @@ sidebar_position: 4

# Maintain Sovereignty

:::tip
To deploy your own rollup on the Astria Dusknet devnet, check out the
[instructions here](/docs/running-a-rollup-on-astria-dusknet/overview/)!
:::

Sovereignty is important, so rollups must be able to receive the benefits of
Astria without fear of being locked in. That’s why swapping out the sequencing
layer is as simple as updating a rollup node’s software to use a different fork
Expand Down
2 changes: 1 addition & 1 deletion docs/overview-of-astria/_category_.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"label": "Overview of Astria",
"position": 1,
"position": 2,
"link": {
"type": "doc",
"id": "overview-of-astria/introduction"
Expand Down
5 changes: 5 additions & 0 deletions docs/overview-of-astria/architecture/1-overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,11 @@ sidebar_position: 1

# Architecture Overview

:::tip
To deploy your own rollup on the Astria Dusknet devnet, check out the
[instructions here](/docs/running-a-rollup-on-astria-dusknet/overview/)!
:::

At a high level, Astria breaks out all of the components that are historically
combined together in monolithic blockchains into individual components. This
results in a modular ecosystem that allows users to swap out components to fit
Expand Down
5 changes: 5 additions & 0 deletions docs/overview-of-astria/architecture/2-transaction-flow.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,11 @@ sidebar_position: 2

# Transaction Flow

:::tip
To deploy your own rollup on the Astria Dusknet devnet, check out the
[instructions here](/docs/running-a-rollup-on-astria-dusknet/overview/)!
:::

The full transaction flow through the Astria stack is as follows:

![Astria Transaction Flow](../assets/transaction-flow.png)
5 changes: 5 additions & 0 deletions docs/overview-of-astria/architecture/3-rollup.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,11 @@ sidebar_position: 3

# Rollups

:::tip
To deploy your own rollup on the Astria Dusknet devnet, check out the
[instructions here](/docs/running-a-rollup-on-astria-dusknet/overview/)!
:::

Astria is designed for permissionless rollup integration and takes advantage of [lazy](https://en.wikipedia.org/wiki/Lazy_evaluation?ref=blog.astria.org) shared sequencing. This means that rollup developers have total sovereignty over their own execution state and can swap out sequencing layers without fear of being locked in. You do not need to ask for permission or go through a governance process to gain access. A rollup simply needs to satisfy the following interfaces:

Write Interface (Rollup <-> Composer):
Expand Down
5 changes: 5 additions & 0 deletions docs/overview-of-astria/architecture/4-composer.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,11 @@ sidebar_position: 4

# Composer

:::tip
To deploy your own rollup on the Astria Dusknet devnet, check out the
[instructions here](/docs/running-a-rollup-on-astria-dusknet/overview/)!
:::

The Composer is an in-house abstraction over the potential actors in Astria's
MEV supply chain. It currently contains a naive implementations of the role a
searcher will fulfill, with the intention of having working examples that
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,11 @@ sidebar_position: 5

# The Astria Sequencer

:::tip
To deploy your own rollup on the Astria Dusknet devnet, check out the
[instructions here](/docs/running-a-rollup-on-astria-dusknet/overview/)!
:::

The Astria Shared Sequencer is a decentralized network of nodes utilizing CometBFT that come to consensus on an ordered set of transactions (ie. it is a blockchain). The unique feature of the sequencer is that the transactions it includes are not executed (lazy sequencing), and are destined for another execution engine (ie. a rollup). This excludes “sequencer native” transactions, such as transfers of tokens within the sequencer chain. Transactions from any given rollup are only ordered on the sequencer, not executed.

The sequencer can optionally act as a “validator”, meaning it actively
Expand Down
5 changes: 5 additions & 0 deletions docs/overview-of-astria/architecture/6-relayer.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,11 @@ sidebar_position: 6

# Relayer

:::tip
To deploy your own rollup on the Astria Dusknet devnet, check out the
[instructions here](/docs/running-a-rollup-on-astria-dusknet/overview/)!
:::

The Relayer's responsibility is to take validated blocks from the sequencer and
pass them along to both the Conductor and the DA layer. Because the sequencer's
block times are much faster than those of the DA, the relayer also collects a
Expand Down
5 changes: 5 additions & 0 deletions docs/overview-of-astria/architecture/7-conductor.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,11 @@ sidebar_position: 7

# Conductor

:::tip
To deploy your own rollup on the Astria Dusknet devnet, check out the
[instructions here](/docs/running-a-rollup-on-astria-dusknet/overview/)!
:::

Conductor's role is to drive the deterministic execution of sequencer blocks to
rollups.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,11 @@ sidebar_position: 8

# Data Availability Layer

:::tip
To deploy your own rollup on the Astria Dusknet devnet, check out the
[instructions here](/docs/running-a-rollup-on-astria-dusknet/overview/)!
:::

The dev-cluster uses [Celestia](https://github.com/celestiaorg) as the data
availability layer and is the ultimate destination of all data that has been
ordered by the sequencer network. Once written to Celestia, the transaction
Expand Down
24 changes: 12 additions & 12 deletions docs/running-a-rollup-on-astria-dusknet/1-overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,26 +14,26 @@ the Sequencer.
As before with running a local dev-cluster, you will need to have the
[dev-cluster](https://github.com/astriaorg/dev-cluster/tree/main) and the main
[astria repo](https://github.com/astriaorg/astria) cloned and on your machine,
as well have the following dependencies installed:
- [gcloud cli](https://cloud.google.com/sdk/docs/install)
- [Foundry Cast and Forge tools](https://book.getfoundry.sh/getting-started/installation)
- [docker](https://docs.docker.com/get-docker/)
- [kubectl](https://kubernetes.io/docs/tasks/tools/)
- [helm](https://helm.sh/docs/intro/install/)
- [kind](https://kind.sigs.k8s.io/docs/user/quick-start/#installation)
- [just](https://just.systems/man/en/chapter_4.html)
- [curl](https://curl.se/)
- [jq](https://jqlang.github.io/jq/)
and also have the following dependencies installed:
- Foundry Cast and Forge tools - https://book.getfoundry.sh/getting-started/installation
- docker - https://docs.docker.com/get-docker/
- kubectl - https://kubernetes.io/docs/tasks/tools/
- helm - https://helm.sh/docs/intro/install/
- kind - https://kind.sigs.k8s.io/docs/user/quick-start/#installation
- just - https://just.systems/man/en/chapter_4.html

Many of these dependencies are also required for running the local dev-cluster.

For reference, the latest component releases that the devnet cluster is running are the
following:
- [conductor v0.6.0](https://github.com/astriaorg/astria/releases/tag/v0.6.0--conductor)
- [composer v0.2.1](https://github.com/astriaorg/astria/releases/tag/v0.2.1--composer)
- [conductor v0.7.0](https://github.com/astriaorg/astria/releases/tag/v0.7.0--conductor)
- [composer v0.2.2](https://github.com/astriaorg/astria/releases/tag/v0.2.2--composer)
- [sequencer-relayer v0.5.1](https://github.com/astriaorg/astria/releases/tag/v0.5.1--sequencer-relayer)
- [sequencer
v0.4.1](https://github.com/astriaorg/astria/releases/tag/v0.4.1--sequencer)

You do not need to download these independently, they are already within the
dev-cluster repo.

Once all of the dependencies have been installed, you can move on to running the
rollup.
Loading

0 comments on commit 381499d

Please sign in to comment.