Skip to content

Commit

Permalink
Add and configure mainnet/testnet tabs
Browse files Browse the repository at this point in the history
  • Loading branch information
jlwllmr committed Sep 13, 2024
1 parent 454b2f8 commit 3c9ddc2
Show file tree
Hide file tree
Showing 2 changed files with 80 additions and 33 deletions.
43 changes: 28 additions & 15 deletions docs/developers/guides/run-a-node/use-binary.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ Download the genesis file and Besu configuration file.

</Tabs>

### Step 3. Define disk space volume (optional) {#disk-space-besu}
### Step 3. Define disk space volume (optional) \{#disk-space-besu}

Define a volume size appropriate to your expected usage. As of March 20 2024, Besu nodes use:

Expand Down Expand Up @@ -140,22 +140,35 @@ and unzip it.
In the unzipped directory, find `profiles`. The `.toml` configuration files in this folder define
the parameters for each possible profile you can select for your Linea Besu node.

Select one according to your preferences:
- `basic-mainnet`: Creates a basic follower node on Linea Mainnet with no plugins enabled.
- `advanced-mainnet`: Creates an advanced node on Linea Mainnet with plugins that enable support for
`linea_estimateGas` and the `finalized` block parameter tag.
- `sequencer-mainnet`: Creates a sequencer node on Linea Mainnet.
- `shomei-mainnet`: Creates a Shomei node on Linea Mainnet, enabling full state management support.
- `tracer-mainnet`: Creates a tracer node on the Linea Mainnet.
<Tabs groupId="networks" className="my-tabs">
<TabItem value="mainnet" label="Mainnet">
Select one according to your preferences:
- `basic-mainnet`: Creates a basic follower node on Linea Mainnet with no plugins enabled.
- `advanced-mainnet`: Creates an advanced node on Linea Mainnet with plugins that enable support for
`linea_estimateGas` and the `finalized` block parameter tag.
- `sequencer-mainnet`: Creates a sequencer node on Linea Mainnet.
- `shomei-mainnet`: Creates a Shomei node on Linea Mainnet, enabling full state management support.
- `tracer-mainnet`: Creates a tracer node on the Linea Mainnet.
</TabItem>
<TabItem value="Linea Sepolia" label="Linea Sepolia">
Select one according to your preferences:
- `basic-testnet`: Creates a basic follower node on Linea Sepolia with no plugins enabled.
- `advanced-testnet`: Creates an advanced node on Linea Sepolia with plugins that enable support for
`linea_estimateGas` and the `finalized` block parameter tag.
- `sequencer-testnet`: Creates a sequencer node on Linea Sepolia.
- `shomei-testnet`: Creates a Shomei node on Linea Sepolia, enabling full state management support.
- `tracer-testnet`: Creates a tracer node on the Linea Sepolia.
</TabItem>
</Tabs>

### Step 3. Adjust configuration file

In the `.toml` file you chose, set `genesis-file` to the path of your downloaded genesis file. Since
we will be running the client from within the `linea-besu-package-<version>` directory, this does
not need to be a full path:

<Tabs className="my-tabs">
<TabItem value="Mainnet" label="Mainnet">
<Tabs groupId="networks" className="my-tabs">
<TabItem value="mainnet" label="Mainnet">
`genesis/genesis.mainnet.json`
</TabItem>
<TabItem value="Linea Sepolia" label="Linea Sepolia">
Expand All @@ -170,15 +183,15 @@ In a terminal, navigate to the `linea-besu-package-<version>` directory, where t

Now run Linea Besu with the location of your configuration file:

<Tabs className="my-tabs">
<TabItem value="Mainnet" label="Mainnet">
<Tabs groupId="networks" className="my-tabs">
<TabItem value="mainnet" label="Mainnet">
```bash
bin/besu --config-file=/your-file-path/linea-besu-package-<version>/profiles/sequencer-mainnet.toml
bin/besu --config-file=/your-file-path/linea-besu-package-<version>/profiles/advanced-mainnet.toml
```
</TabItem>
<TabItem value="Linea Sepolia" label="Linea Sepolia">
```bash
bin/besu --config-file=/your-file-path/linea-besu-package-<version>/profiles/sequencer-sepolia.toml
bin/besu --config-file=/your-file-path/linea-besu-package-<version>/profiles/advanced-testnet.toml
```
</TabItem>
</Tabs>
Expand Down Expand Up @@ -216,7 +229,7 @@ Download the genesis file for the relevant network.
</TabItem>
</Tabs>

### Step 3. Define disk space volume (optional) {#disk-space-geth}
### Step 3. Define disk space volume (optional) \{#disk-space-geth}

Define a volume size appropriate to your expected usage. As of March 20 2024, Geth nodes use:
- Full nodes: 170GB, growing ~2.6GB per day.
Expand Down
70 changes: 52 additions & 18 deletions docs/developers/guides/run-a-node/use-docker.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -84,13 +84,26 @@ in the Linea Besu repository. There are several `.yaml` files here corresponding
Each profile enables you to run a node with different Linea Besu plugin configurations depending on
your use case.

Download the appropriate `.yaml` file for your use case:
- `basic`: Creates a basic follower node on Linea Mainnet with no plugins enabled.
- `advanced`: Creates an advanced node on Linea Mainnet with plugins that enable support for
`linea_estimateGas` and the `finalized` block parameter tag.
- `sequencer`: Creates a sequencer node on Linea Mainnet.
- `shomei`: Creates a Shomei node on Linea Mainnet, enabling full state management support.
- `tracer`: Creates a tracer node on Linea Mainnet.
<Tabs groupId="networks" className="my-tabs">
<TabItem value="mainnet" label="Mainnet">
Download the appropriate `.yaml` file for your use case:
- `basic-mainnet`: Creates a basic follower node on Linea Mainnet with no plugins enabled.
- `advanced-mainnet`: Creates an advanced node on Linea Mainnet with plugins that enable support
for `linea_estimateGas` and the `finalized` block parameter tag.
- `sequencer-mainnet`: Creates a sequencer node on Linea Mainnet.
- `shomei-mainnet`: Creates a Shomei node on Linea Mainnet, enabling full state management support.
- `tracer-mainnet`: Creates a tracer node on Linea Mainnet.
</TabItem>
<TabItem value="Linea Sepolia" label="Linea Sepolia">
Download the appropriate `.yaml` file for your use case:
- `basic-testnet`: Creates a basic follower node on Linea Sepolia with no plugins enabled.
- `advanced-testnet`: Creates an advanced node on Linea Sepolia with plugins that enable support
for `linea_estimateGas` and the `finalized` block parameter tag.
- `sequencer-testnet`: Creates a sequencer node on Linea Sepolia.
- `shomei-testnet`: Creates a Shomei node on Linea Sepolia, enabling full state management support.
- `tracer-testnet`: Creates a tracer node on Linea Sepolia.
</TabItem>
</Tabs>

### Step 2. Update IP address

Expand All @@ -108,21 +121,42 @@ You can use [this page](https://www.whatismyip.com/) to find your public IP addr

### Step 3. Start the Linea Besu node

In a terminal, navigate to your `.yaml` file's directory. Then start the node by running
`docker compose`:
<Tabs groupId="networks" className="my-tabs">
<TabItem value="mainnet" label="Mainnet">
In a terminal, navigate to your `.yaml` file's directory. Then start the node by running
`docker compose`:

```bash
docker compose -f ./your-file-path/docker-compose-basic-mainnet.yaml up
```
```bash
docker compose -f ./your-file-path/docker-compose-advanced-mainnet.yaml up
```

Alternatively, you can run a node without downloading a `.yaml` file with a `docker run` command.
For example:
Alternatively, you can run a node without downloading a `.yaml` file with a `docker run` command.
For example:

```bash
docker run -e BESU_PROFILE=basic-mainnet consensys/linea-besu-package:latest
```
```bash
docker run -e BESU_PROFILE=advanced-mainnet consensys/linea-besu-package:latest
```

Adjust the `BESU_PROFILE` to match one of the profiles listed in step 1.
</TabItem>
<TabItem value="Linea Sepolia" label="Linea Sepolia">
In a terminal, navigate to your `.yaml` file's directory. Then start the node by running
`docker compose`:
Adjust the `BESU_PROFILE` to match one of the profiles listed in step 1.
```bash
docker compose -f ./your-file-path/docker-compose-advanced-testnet.yaml up
```
Alternatively, you can run a node without downloading a `.yaml` file with a `docker run` command.
For example:
```bash
docker run -e BESU_PROFILE=advanced-testnet consensys/linea-besu-package:latest
```
Adjust the `BESU_PROFILE` to match one of the profiles listed in step 1.
</TabItem>
</Tabs>
## Run a Geth node
Expand Down

0 comments on commit 3c9ddc2

Please sign in to comment.