Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sb/basic structure #4

Merged
merged 58 commits into from
Oct 17, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
1d545e3
basic structure
sambukowski Oct 3, 2023
17de291
into added
sambukowski Oct 4, 2023
5ea9700
decentralization by default basics added
sambukowski Oct 4, 2023
8b85f82
initial rollup doc
sambukowski Oct 4, 2023
211b44b
added composer
sambukowski Oct 4, 2023
6dff085
added sequencer info
sambukowski Oct 5, 2023
b43e078
added relayer info
sambukowski Oct 5, 2023
7f14df1
added conductor info
sambukowski Oct 5, 2023
34c5b8f
added transaction flow
sambukowski Oct 5, 2023
f6aa77a
added local rollups and dev-cluster info
sambukowski Oct 5, 2023
d56be3f
images for multiple rollups, slight updates to da section
sambukowski Oct 6, 2023
c400a95
fixed folder name typo, added some images
sambukowski Oct 6, 2023
f6b8395
Minor style updates
joroshiba Oct 10, 2023
851ab44
text formating, updated architecture image
sambukowski Oct 10, 2023
0c5476f
Merge branch 'joroshiba/minor' into sb/basic-structure
sambukowski Oct 10, 2023
e9882d5
primary font color
sambukowski Oct 10, 2023
2a57b64
added repo links
sambukowski Oct 10, 2023
708748c
split deploy dev cluster and deploy rollup into different sections
sambukowski Oct 10, 2023
82d1e3c
formating, homepage links
sambukowski Oct 10, 2023
334b05b
update components and descriptions
sambukowski Oct 10, 2023
fad1c30
initial work on remote rollup
sambukowski Oct 11, 2023
e4bf772
Style updates (#2)
joroshiba Oct 11, 2023
a430409
added configure remote rollup and run remote rollup
sambukowski Oct 11, 2023
2a2d65b
fix navigation links
sambukowski Oct 11, 2023
b2e23dd
added more the deploy remote rollup
sambukowski Oct 11, 2023
4d3e24f
updated formatting for configure rollup
sambukowski Oct 11, 2023
544bd8f
env var section, small updates
sambukowski Oct 12, 2023
c1d1f25
initial remote rollup walkthrough, other updates
sambukowski Oct 12, 2023
e1fef43
fixed command typo
sambukowski Oct 16, 2023
b7cf77b
update local deploy
sambukowski Oct 16, 2023
c8d81de
added an additional command, small reorder for multi-rollup
sambukowski Oct 16, 2023
e187d45
added local shutdown, additional info to mutli-local
sambukowski Oct 16, 2023
8a72ea8
remote rollup rename, added more intro pages
sambukowski Oct 16, 2023
a27a1c3
rewording
sambukowski Oct 16, 2023
fbf65c3
rewording of intro sentence
sambukowski Oct 16, 2023
f294965
reorg of decentralized and arch intros
sambukowski Oct 16, 2023
fd93a1a
reorder of architecture sections
sambukowski Oct 16, 2023
6d8e892
rename astria dev cluster to just local
sambukowski Oct 16, 2023
c0b3ea9
additions to running a local rollup on the remote network
sambukowski Oct 16, 2023
54c08b4
updates to local rollup deployed against remote cluster
sambukowski Oct 16, 2023
c2f38a2
reorg of configure remote
sambukowski Oct 16, 2023
2490e46
reorg of local deploy to remote cluster
sambukowski Oct 16, 2023
9bde84d
delete moved section
sambukowski Oct 16, 2023
6331903
sections reorg
sambukowski Oct 16, 2023
353c1ce
added full remote rollup deploy
sambukowski Oct 16, 2023
dbe3880
Merge branch 'sb/basic-structure'
sambukowski Oct 17, 2023
8958030
bump version in docs
sambukowski Oct 17, 2023
6dae431
typo fix
sambukowski Oct 17, 2023
422a081
removed checkout of branch step, that code is now in main
sambukowski Oct 17, 2023
87a0d31
updates to remote config and deploy
sambukowski Oct 17, 2023
437e211
updates to remote config and deploy 2
sambukowski Oct 17, 2023
1107d92
add link to remote rollup deploy to everything
sambukowski Oct 17, 2023
8d006dd
added sequencer account funding with faucet sections
sambukowski Oct 17, 2023
66b53ba
update links
sambukowski Oct 17, 2023
2a8eb66
doc links updates
sambukowski Oct 17, 2023
1c9e6e7
updated to use cli install
sambukowski Oct 17, 2023
b768905
updated getting block height to use astria-cli
sambukowski Oct 17, 2023
e7a88a5
removed unneeded deps
sambukowski Oct 17, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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