diff --git a/docs/dev-cluster/1-overview.md b/docs/dev-cluster/1-overview.md index f957c882..d787e8c0 100644 --- a/docs/dev-cluster/1-overview.md +++ b/docs/dev-cluster/1-overview.md @@ -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 diff --git a/docs/dev-cluster/2-run-dev-cluster-locally.md b/docs/dev-cluster/2-run-dev-cluster-locally.md index 24a0ca96..a8babe45 100644 --- a/docs/dev-cluster/2-run-dev-cluster-locally.md +++ b/docs/dev-cluster/2-run-dev-cluster-locally.md @@ -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: @@ -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`. diff --git a/docs/dev-cluster/3-deploy-a-local-rollup.md b/docs/dev-cluster/3-deploy-a-local-rollup.md index c1a8b0ad..14aeb415 100644 --- a/docs/dev-cluster/3-deploy-a-local-rollup.md +++ b/docs/dev-cluster/3-deploy-a-local-rollup.md @@ -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: diff --git a/docs/dev-cluster/4-run-multiple-rollups-locally.md b/docs/dev-cluster/4-run-multiple-rollups-locally.md index 6be6a115..5ab19eb0 100644 --- a/docs/dev-cluster/4-run-multiple-rollups-locally.md +++ b/docs/dev-cluster/4-run-multiple-rollups-locally.md @@ -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) diff --git a/docs/dev-cluster/5-shutdown.md b/docs/dev-cluster/5-shutdown.md index c735f31a..057aaf49 100644 --- a/docs/dev-cluster/5-shutdown.md +++ b/docs/dev-cluster/5-shutdown.md @@ -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: diff --git a/docs/dev-cluster/_category_.json b/docs/dev-cluster/_category_.json index 8be3894b..228b2174 100644 --- a/docs/dev-cluster/_category_.json +++ b/docs/dev-cluster/_category_.json @@ -1,6 +1,6 @@ { "label": "Local Dev Cluster", - "position": 2, + "position": 3, "link": { "type": "doc", "id": "dev-cluster/overview" diff --git a/docs/overview-of-astria/1-introduction.md b/docs/overview-of-astria/1-introduction.md index 2f0318d2..b6968818 100644 --- a/docs/overview-of-astria/1-introduction.md +++ b/docs/overview-of-astria/1-introduction.md @@ -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. diff --git a/docs/overview-of-astria/2-why-decentralized-sequencers.md b/docs/overview-of-astria/2-why-decentralized-sequencers.md index c7f77c13..f870328a 100644 --- a/docs/overview-of-astria/2-why-decentralized-sequencers.md +++ b/docs/overview-of-astria/2-why-decentralized-sequencers.md @@ -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.** diff --git a/docs/overview-of-astria/3-cross-rollup-composability.md b/docs/overview-of-astria/3-cross-rollup-composability.md index eb3e05c2..1560e81d 100644 --- a/docs/overview-of-astria/3-cross-rollup-composability.md +++ b/docs/overview-of-astria/3-cross-rollup-composability.md @@ -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. diff --git a/docs/overview-of-astria/4-maintain-sovereignty.md b/docs/overview-of-astria/4-maintain-sovereignty.md index bd50fd0a..db0e6947 100644 --- a/docs/overview-of-astria/4-maintain-sovereignty.md +++ b/docs/overview-of-astria/4-maintain-sovereignty.md @@ -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 diff --git a/docs/overview-of-astria/_category_.json b/docs/overview-of-astria/_category_.json index 1c7770c6..044d55ad 100644 --- a/docs/overview-of-astria/_category_.json +++ b/docs/overview-of-astria/_category_.json @@ -1,6 +1,6 @@ { "label": "Overview of Astria", - "position": 1, + "position": 2, "link": { "type": "doc", "id": "overview-of-astria/introduction" diff --git a/docs/overview-of-astria/architecture/1-overview.md b/docs/overview-of-astria/architecture/1-overview.md index 1360550d..2f9471ce 100644 --- a/docs/overview-of-astria/architecture/1-overview.md +++ b/docs/overview-of-astria/architecture/1-overview.md @@ -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 diff --git a/docs/overview-of-astria/architecture/2-transaction-flow.md b/docs/overview-of-astria/architecture/2-transaction-flow.md index e11d238c..10c3bcd0 100644 --- a/docs/overview-of-astria/architecture/2-transaction-flow.md +++ b/docs/overview-of-astria/architecture/2-transaction-flow.md @@ -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) diff --git a/docs/overview-of-astria/architecture/3-rollup.md b/docs/overview-of-astria/architecture/3-rollup.md index 689a8011..7b136023 100644 --- a/docs/overview-of-astria/architecture/3-rollup.md +++ b/docs/overview-of-astria/architecture/3-rollup.md @@ -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): diff --git a/docs/overview-of-astria/architecture/4-composer.md b/docs/overview-of-astria/architecture/4-composer.md index 32eec2d5..599ce675 100644 --- a/docs/overview-of-astria/architecture/4-composer.md +++ b/docs/overview-of-astria/architecture/4-composer.md @@ -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 diff --git a/docs/overview-of-astria/architecture/5-the-astria-sequencer.md b/docs/overview-of-astria/architecture/5-the-astria-sequencer.md index 3d81af75..bc105f49 100644 --- a/docs/overview-of-astria/architecture/5-the-astria-sequencer.md +++ b/docs/overview-of-astria/architecture/5-the-astria-sequencer.md @@ -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 diff --git a/docs/overview-of-astria/architecture/6-relayer.md b/docs/overview-of-astria/architecture/6-relayer.md index 12829bb5..5874ec83 100644 --- a/docs/overview-of-astria/architecture/6-relayer.md +++ b/docs/overview-of-astria/architecture/6-relayer.md @@ -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 diff --git a/docs/overview-of-astria/architecture/7-conductor.md b/docs/overview-of-astria/architecture/7-conductor.md index d7b667c5..4da2c654 100644 --- a/docs/overview-of-astria/architecture/7-conductor.md +++ b/docs/overview-of-astria/architecture/7-conductor.md @@ -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. diff --git a/docs/overview-of-astria/architecture/8-data-availability-layer.md b/docs/overview-of-astria/architecture/8-data-availability-layer.md index 5140252f..1ca6675f 100644 --- a/docs/overview-of-astria/architecture/8-data-availability-layer.md +++ b/docs/overview-of-astria/architecture/8-data-availability-layer.md @@ -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 diff --git a/docs/running-a-rollup-on-astria-dusknet/1-overview.md b/docs/running-a-rollup-on-astria-dusknet/1-overview.md index 4f1fe7c6..dcf093c1 100644 --- a/docs/running-a-rollup-on-astria-dusknet/1-overview.md +++ b/docs/running-a-rollup-on-astria-dusknet/1-overview.md @@ -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. diff --git a/docs/running-a-rollup-on-astria-dusknet/2-configure-remote-rollup.md b/docs/running-a-rollup-on-astria-dusknet/2-configure-remote-rollup.md index 5036204d..a1856bc6 100644 --- a/docs/running-a-rollup-on-astria-dusknet/2-configure-remote-rollup.md +++ b/docs/running-a-rollup-on-astria-dusknet/2-configure-remote-rollup.md @@ -16,48 +16,77 @@ Endpoints for the remote cluster are the following: | sequencer-faucet | faucet.sequencer.dusk-1.devnet.astria.org | 34.36.8.102 | | sequencer-ingress | rpc.sequencer.dusk-1.devnet.astria.org | 34.111.73.187 | -## Get the Current Sequencer Block Height +## Creating your own Genesis Account -Take the `sequencer-ingress` URL and run the following command to get the -current block height of the sequencer. +You can add genesis account(s) to your rollup during configuration. +This is done by `export`ing the additional `ROLLUP_GENESIS_ACCOUNTS` environment variable. - -```sh -curl -s https://rpc.sequencer.dusk-1.devnet.astria.org/block | jq .result.block.header.height +```bash +export ROLLUP_GENESIS_ACCOUNTS=:100000000000000000000 ``` -Keep track of this block height as it will be used for making the rollup config -later on. You will use this printed height in place of -`` in the steps below. +You can create an account using + +```bash +cast w new +``` + +to create a new account: + +```bash +Successfully created new keypair. +Address: 0xfFe9...5f8b # +Private key: 0x332e...a8fb # +``` + +Set `` to the address printed out from the new command, and +`export` the private key to the env vars using: +```bash +export ROLLUP_FAUCET_PRIV_KEY= +``` + +This export is also shown in the export block in the next section. + +:::danger +__NEVER__ use a private key you use on a live network. + +For ease of use we recommend you set this to an key which you have access to +::: ## Build the `astria-cli` -Clone the [Astria repo](https://github.com/astriaorg/astria/tree/main), checkout -the `feature/self-serve-rollup-cli` branch, and build the new config using the `astria-cli`. +Clone the [Astria repo](https://github.com/astriaorg/astria/tree/main) and build +a new config using the `astria-cli`. - ```bash git clone git@github.com:astriaorg/astria.git cd astria -git checkout feature/self-serve-rollup-cli -cd crates/astria-cli -cargo build --release -# return to the root dir of the `astria` repo -cd ../.. +just install-cli ``` + ## Using the `astria-cli` -Replace the tags in the commands and env vars below, as follows: +### Get Current Sequencer Block Height + +```bash +astria-cli sequencer blockheight get \ + --sequencer-url https://rpc.sequencer.dusk-1.devnet.astria.org/ +``` + +Keep track of this block height as it will be used for making the rollup config +later on. You will use this printed height in place of +`` in the steps below. + +Replace the following tags in the sections below, as follows: | Var Name | Var Type | Description | |-----|-----|-----| | `` | String | The name of your rollup | -| `` | String | Recommended to be the same as your rollup name | | `` | u64 | The id of your network | | `` | u64 | The height of the sequencer (found above) | | `` | [u8; 40] | A wallet address | -| `` | u64 | A balance | - +| `` | u64 | A balance. It is useful to make this a large value. | + + + + + +## Environment Variables + cli + +You can use environment variables to set the configuration for the rollup +config creation. Replace all the `<>` tags with their corresponding values. + +```bash +export ROLLUP_USE_TTY=true +export ROLLUP_LOG_LEVEL=DEBUG +export ROLLUP_NAME= +export ROLLUP_NETWORK_ID= +export ROLLUP_SKIP_EMPTY_BLOCKS=false +export ROLLUP_GENESIS_ACCOUNTS=: +export ROLLUP_SEQUENCER_INITIAL_BLOCK_HEIGHT= +export ROLLUP_SEQUENCER_WEBSOCKET=wss://rpc.sequencer.dusk-1.devnet.astria.org/websocket +export ROLLUP_SEQUENCER_RPC=https://rpc.sequencer.dusk-1.devnet.astria.org +``` + +Then just run the config create command: + +```sh +astria-cli rollup config create +``` + +You can then run: + +```sh +cat -rollup-conf.yaml +``` + +to print out the config file contents to double check everything: + +```sh +config: + useTTY: true + logLevel: DEBUG + rollup: + name: + chainId: # derived from rollup name + networkId: + skipEmptyBlocks: true + genesisAccounts: + - address: 0x + balance: '' + sequencer: + initialBlockHeight: + websocket: ws://rpc.sequencer.dusk-1.devnet.astria.org/websocket + rpc: http://rpc.sequencer.dusk-1.devnet.astria.org + celestia: + fullNodeUrl: http://celestia-service:26658 +``` + +Export this file to the env vars as follows: +```bash +export ROLLUP_CONF_FILE=-rollup-conf.yaml +``` + +## Create new sequencer account + +```bash +astria-cli sequencer account create +``` + +```bash +Create Sequencer Account + +Private Key: "5562...1622" # +Public Key: "ec20...f613" # +Address: "8a2f...5f68" +``` + +Keep track of the `` as it will be used with the +Faucet later on for funding your sequencer account. + +Export your sequencer private key as an environment variable. + +```bash +export SEQUENCER_PRIV_KEY=9c78...710d +``` + +## Use locally modified chart + +Because you needed to modify the host names inside your ingress template you must deploy your rollup using your local chart: + +```bash +export ROLLUP_CHART_PATH="/your_path_to/dev-cluster/charts/rollup" +``` + +## Deploy the Rollup Node + +Use the `astria-cli` to deploy the node. + +```bash +astria-cli rollup deployment create \ + --config $ROLLUP_CONF_FILE \ + --faucet-private-key $ROLLUP_FAUCET_PRIV_KEY \ + --sequencer-private-key $SEQUENCER_PRIV_KEY +``` + +## Delete Rollup Node + +If there was an error during deployment, you can delete your deployment and try +again with the following: + +```bash +astria-cli rollup deployment delete --config $ROLLUP_CONF_PATH +``` + +## Default to `astria-dev-cluster` namespace + +Set `kubectl` to the correct namespace. + +```bash +kubectl config set-context --current --namespace=astria-dev-cluster +``` + +## Watch for pod startup + +```bash +kubectl get pods -w +``` + +```bash +NAME READY STATUS RESTARTS AGE +-blockscout-647745c66d-vz4ks 6/6 Running 1 (56s ago) 72s +-faucet-68667bd895-pwqmz 1/1 Running 0 72s +-geth-755cb8dd97-k5xp8 3/3 Running 0 72s +``` + +## Check Block Retrieval on the Conductor + +```bash +export GETH_POD_NAME=-geth-755cb8dd97-k5x +``` + +```bash +kubectl logs $GETH_POD_NAME -c conductor +``` + +```bash +2023-10-16T20:49:16.858852Z INFO run_until_stopped: astria_conductor::executor: executed sequencer block sequencer_block_hash=Hash::Sha256(93C233F2A2A109FF6CC3162A98916BECAE6D8EC43520C995E82B6D1F2B2742EF) sequencer_block_height=423755 execution_block_hash="2d8b2219a30ea4cc409347320f377de937b9ca2425f670c4f913724a2d53b2aa" +2023-10-16T20:49:18.922694Z INFO run_until_stopped: astria_conductor::executor: executing block with given parent block height=423756 parent_block_hash="2d8b2219a30ea4cc409347320f377de937b9ca2425f670c4f913724a2d53b2aa" +2023-10-16T20:49:18.926380Z INFO run_until_stopped: astria_conductor::executor: executed sequencer block sequencer_block_hash=Hash::Sha256(EAD8701CB15D9B487DC7400ABC2FCB7A4F7E09E09F39D4D6B8FA97B74B5EC50F) sequencer_block_height=423756 execution_block_hash="de20c29febc808b7a2ded8513eb23be116fe441745ccf62d1366b4b9bb160d04" +``` + +## Observe your Deployment + +Your rollups utility endpoints are as follows: + +| Utility | URL | +|-----|-----| +| Block Explorer | http://blockscout../ | +| Faucet | http://faucet../ | +| RPC | http://executor../ | + +Open the URLs in your browser to view your running rollup. + +## Debug Ingress + +If you would like to view the ingress logs you can use the following: + +```bash +kubectl get po -n ingress-nginx +# get the name of one of the pods +export INGRESS_POD_1=ingress-nginx-controller-6d6559598-ll8gv +# view the logs +kubectl logs $INGRESS_POD_1 -n ingress-nginx +``` + +## Use `cast` to Interact with your Rollup + +```bash +export ETH_RPC_URL=http://executor../ +``` + +```bash +cast block 0 +``` + +Use an address of your choice. + +```bash +export REC_ADDR= +``` + +```bash +cast balance $REC_ADDR +``` + +```bash +cast send $REC_ADDR --value 10000000000000000000 --private-key $ROLLUP_FAUCET_PRIV_KEY +``` + +```bash +cast balance $REC_ADDR +``` + +## Fund you Sequencer Account + +Using your sequencer pub key you created in the [Create a New Sequencer +Account](#create-a-new-sequencer-account), copy and past the +`` into the input on the faucet page, and mint funds +to your account: + +![Sequencer Faucet](./assets/sequencer-faucet.png) diff --git a/docs/running-a-rollup-on-astria-dusknet/_category_.json b/docs/running-a-rollup-on-astria-dusknet/_category_.json index 6c19fe04..6cb6001d 100644 --- a/docs/running-a-rollup-on-astria-dusknet/_category_.json +++ b/docs/running-a-rollup-on-astria-dusknet/_category_.json @@ -1,6 +1,6 @@ { "label": "Running a rollup on Astria Dusknet", - "position": 3, + "position": 1, "link": { "type": "doc", "id": "running-a-rollup-on-astria-dusknet/overview" diff --git a/docs/running-a-rollup-on-astria-dusknet/assets/sequencer-faucet.png b/docs/running-a-rollup-on-astria-dusknet/assets/sequencer-faucet.png new file mode 100644 index 00000000..64b7d324 Binary files /dev/null and b/docs/running-a-rollup-on-astria-dusknet/assets/sequencer-faucet.png differ diff --git a/docusaurus.config.js b/docusaurus.config.js index c7eceb1f..b9023f25 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -91,6 +91,10 @@ const config = { { title: 'Docs', items: [ + { + label: 'Running a rollup on Astria Dusknet', + to: '/docs/running-a-rollup-on-astria-dusknet/overview/', + }, { label: 'Overview', to: '/docs/overview-of-astria/introduction/', @@ -99,10 +103,7 @@ const config = { label: 'Dev Cluster', to: '/docs/dev-cluster/overview/', }, - { - label: 'Running a rollup on Astria Dusknet', - to: '/docs/running-a-rollup-on-astria-dusknet/overview/', - }, + ], }, { diff --git a/src/pages/index.tsx b/src/pages/index.tsx index 552809ca..102ca6c7 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -17,7 +17,7 @@ function HomepageHeader() {
+ to="/docs/running-a-rollup-on-astria-dusknet/overview/"> Learn more about Astria