Skip to content

Commit

Permalink
Add das quickstart README (#12)
Browse files Browse the repository at this point in the history
* Add intro to official docs

* Add relay quickstart

* fmt

* bump version

* bump version

* remove filenames

* das urls comment

* link

* link name

* match comment
  • Loading branch information
a-thomas-22 authored Jan 29, 2024
1 parent 0c20615 commit 338942c
Show file tree
Hide file tree
Showing 6 changed files with 158 additions and 4 deletions.
2 changes: 1 addition & 1 deletion charts/das/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,6 @@ maintainers:

type: application

version: 0.1.7
version: 0.1.8

appVersion: "v2.2.2-8f33fea"
150 changes: 150 additions & 0 deletions charts/das/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,155 @@
# Nitro DAS

A Helm chart for Arbitrum Nitro Data Availabity Servers and Mirrors. For full details on running a DAS, please see the official [Arbitrum Documentation](https://docs.arbitrum.io/node-running/how-tos/data-availability-committee/introduction).

> [!WARNING]
> There are many configuration options available for running a DAS and DAS Mirror. The chart defaults and intructions below are intended to get the server running. This is insufficient for production use. Please see the [Configuration Options](#configuration-options) section for the exhaustive list of options.
## Quickstart

```console
helm repo add offchainlabs https://charts.arbitrum.io
```

```console
helm install <my-release> offchainlabs/das
```

### Required Parameters
This chart supports running as a DAS mirror or a DAS as a member of a DAC. At a minimum, you must provide a parent chain node url, the sequencer inbox address, and a storage type. However, it is recommended to use multiple storage types for redundancy.

#### DAS Mirror
```console
helm install <my-release> offchainlabs/das \
--set configmap.data.data-availability.parent-chain-node-url=<PARENT_CHAIN_NODE_URL> \
--set configmap.data.data-availability.sequencer-inbox-address=<SEQUENCER_INBOX_ADDRESS> \
--set configmap.data.data-availability.local-file-storage.enable=true \
--set configmap.data.data-availability.local-file-storage.data-dir="/data/das-file-storage"
```

#### DAS
Running a DAS requires a bls key. The key can be provided as a secret or as a file. See the [Configuration Options](#configuration-options) section for more details.

```yaml
apiVersion: v1
kind: Secret
metadata:
name: das-bls
data:
das_bls: <BASE_64_ENCODED_PRIVATE_KEY>
das_bls.pub: <BASE64_ENCODED_PUB_KEY
```
```console
helm install <my-release> offchainlabs/das \
--set configmap.data.data-availability.parent-chain-node-url=<PARENT_CHAIN_NODE_URL> \
--set configmap.data.data-availability.sequencer-inbox-address=<SEQUENCER_INBOX_ADDRESS> \
--set configmap.data.data-availability.local-file-storage.enable=true \
--set configmap.data.data-availability.local-file-storage.data-dir="/data/das-file-storage" \
--set dasecretName=das-bls
```

### Examples

Examples are included below of values files that may be useful as a starting point for production use cases.

#### DAS Mirror

```yaml
configmap:
data:
conf:
env-prefix: "NITRO"
data-availability:
parent-chain-node-url: <PARENT_CHAIN_URL>
sequencer-inbox-address: <SEQUENCER_INBOX_ADDRESS>
local-db-storage:
enable: true
data-dir: "/data/das-db"
discard-after-timeout: false
local-file-storage:
enable: true
data-dir: "/data/das-storage"
s3-storage:
enable: true
access-key: <S3_ACCESS_KEY>
bucket: <S3_BUCKET_NAME>
region: <S3_BUCKET_REGION>
rest-aggregator:
enable: true
online-url-list: <DAS_URL_LIST> #URL with a list of active DAS endpoints such as https://nova.arbitrum.io/das-servers
urls:
- <INTERNAL_DAS_REST_ENDPOINT> #Useful to include an internal REST endpoint if also running a DAS
sync-to-storage:
eager: true
eager-lower-bound-block: <PARENT_CHAIN_BLOCK_CHAIN_WAS_DEPLOYED>
state-dir: /data/das-storage/syncState

extraEnv:
- name: POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: NITRO_DATA__AVAILABILITY_S3__STORAGE_OBJECT__PREFIX
value: "$(POD_NAME)/"
- name: NITRO_DATA__AVAILABILITY_S3__STORAGE_SECRET__KEY
valueFrom:
secretKeyRef:
name: das-s3-credentials
key: secretKey
```
#### DAS
```yaml
configmap:
data:
conf:
env-prefix: "NITRO"
data-availability:
parent-chain-node-url: <PARENT_CHAIN_URL>
sequencer-inbox-address: <SEQUENCER_INBOX_ADDRESS>
key:
key-dir: "/data/das-key"
local-db-storage:
enable: true
data-dir: "/data/das-db"
discard-after-timeout: false
local-file-storage:
enable: true
data-dir: "/data/das-storage"
s3-storage:
enable: true
access-key: <S3_ACCESS_KEY>
bucket: <S3_BUCKET_NAME>
region: <S3_BUCKET_REGION>
rest-aggregator:
enable: true
online-url-list: <DAS_URL_LIST> #URL with a list of active DAS endpoints such as https://nova.arbitrum.io/das-servers
urls:
- <INTERNAL_DAS_REST_ENDPOINT> #Useful to include an internal REST endpoint if also running a DAS
sync-to-storage:
eager: true
eager-lower-bound-block: <PARENT_CHAIN_BLOCK_CHAIN_WAS_DEPLOYED>
state-dir: /data/das-storage/syncState

dasecretName: <BLS_KEY_SECRET_NAME>

extraEnv:
- name: POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: NITRO_DATA__AVAILABILITY_S3__STORAGE_OBJECT__PREFIX
value: "$(POD_NAME)/"
- name: NITRO_DATA__AVAILABILITY_S3__STORAGE_SECRET__KEY
valueFrom:
secretKeyRef:
name: das-s3-credentials
key: secretKey
```
## Parameters
### DAS Deployment Options
Expand Down
2 changes: 1 addition & 1 deletion charts/nitro/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,6 @@ maintainers:

type: application

version: 0.1.14
version: 0.1.15

appVersion: "v2.2.2-8f33fea"
4 changes: 3 additions & 1 deletion charts/nitro/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Arbitrum Nitro

A Helm chart for Arbitrum Nitro. For full details on running a node, please see the official [Arbitrum Documentation](https://docs.arbitrum.io/node-running/quickstart-running-a-node).

## Quickstart

```console
Expand Down Expand Up @@ -34,7 +36,7 @@ helm install <my-release> offchainlabs/nitro \
There are snapshots available to speed up the sync process for Arbitrum Sepolia. See the [Arbitrum Snapshot Page](https://snapshot.arbitrum.io/) for more details.

#### Xai
values.yaml

```yaml
configmap:
data:
Expand Down
2 changes: 1 addition & 1 deletion charts/relay/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,6 @@ maintainers:

type: application

version: 0.1.9
version: 0.1.10

appVersion: "v2.2.2-8f33fea"
2 changes: 2 additions & 0 deletions charts/relay/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Relay

A Helm chart for Arbitrum Nitro Relays. For full details on running a feed relay, please see the official [Arbitrum Documentation](https://docs.arbitrum.io/node-running/how-tos/running-a-feed-relay).

## Quickstart

```console
Expand Down

0 comments on commit 338942c

Please sign in to comment.