Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
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
165 changes: 165 additions & 0 deletions docs/fundamentals/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -258,6 +258,171 @@ The configuration options are case-sensitive and can be defined only once unless
The address of the transaction priority contract to use when selecting transactions from the transaction pool. Defaults to `null`.


### Arbitrum

- #### `Arbitrum.SafeBlockWaitForValidator` \{#arbitrum-safeblockwaitforvalidator\}

<Tabs groupId="usage">
<TabItem value="cli" label="CLI">
```
--arbitrum-safeblockwaitforvalidator [true|false]
--Arbitrum.SafeBlockWaitForValidator [true|false]
```
</TabItem>
<TabItem value="env" label="Environment variable">
```
NETHERMIND_ARBITRUMCONFIG_SAFEBLOCKWAITFORVALIDATOR=true|false
```
</TabItem>
<TabItem value="config" label="Configuration file">
```json
{
"Arbitrum": {
"SafeBlockWaitForValidator": true|false
}
}
```
</TabItem>
</Tabs>

Whether safe blocks should wait for validator. Defaults to `false`.

- #### `Arbitrum.FinalizedBlockWaitForValidator` \{#arbitrum-finalizedblockwaitforvalidator\}

<Tabs groupId="usage">
<TabItem value="cli" label="CLI">
```
--arbitrum-finalizedblockwaitforvalidator [true|false]
--Arbitrum.FinalizedBlockWaitForValidator [true|false]
```
</TabItem>
<TabItem value="env" label="Environment variable">
```
NETHERMIND_ARBITRUMCONFIG_FINALIZEDBLOCKWAITFORVALIDATOR=true|false
```
</TabItem>
<TabItem value="config" label="Configuration file">
```json
{
"Arbitrum": {
"FinalizedBlockWaitForValidator": true|false
}
}
```
</TabItem>
</Tabs>

Whether finalized blocks should wait for validator. Defaults to `false`.

- #### `Arbitrum.BlockProcessingTimeout` \{#arbitrum-blockprocessingtimeout\}

<Tabs groupId="usage">
<TabItem value="cli" label="CLI">
```
--arbitrum-blockprocessingtimeout <value>
--Arbitrum.BlockProcessingTimeout <value>
```
</TabItem>
<TabItem value="env" label="Environment variable">
```
NETHERMIND_ARBITRUMCONFIG_BLOCKPROCESSINGTIMEOUT=<value>
```
</TabItem>
<TabItem value="config" label="Configuration file">
```json
{
"Arbitrum": {
"BlockProcessingTimeout": <value>
}
}
```
</TabItem>
</Tabs>

Timeout in seconds for block processing operations. Defaults to `1`.

- #### `Arbitrum.RebuildLocalWasm` \{#arbitrum-rebuildlocalwasm\}

<Tabs groupId="usage">
<TabItem value="cli" label="CLI">
```
--arbitrum-rebuildlocalwasm <value>
--Arbitrum.RebuildLocalWasm <value>
```
</TabItem>
<TabItem value="env" label="Environment variable">
```
NETHERMIND_ARBITRUMCONFIG_REBUILDLOCALWASM=<value>
```
</TabItem>
<TabItem value="config" label="Configuration file">
```json
{
"Arbitrum": {
"RebuildLocalWasm": <value>
}
}
```
</TabItem>
</Tabs>

Rebuild local WASM store mode: `false` to disable, `force` to force rebuild, or `auto` to continue from last position. Defaults to `auto`.

- #### `Arbitrum.MessageLagMs` \{#arbitrum-messagelagms\}

<Tabs groupId="usage">
<TabItem value="cli" label="CLI">
```
--arbitrum-messagelagms <value>
--Arbitrum.MessageLagMs <value>
```
</TabItem>
<TabItem value="env" label="Environment variable">
```
NETHERMIND_ARBITRUMCONFIG_MESSAGELAGMS=<value>
```
</TabItem>
<TabItem value="config" label="Configuration file">
```json
{
"Arbitrum": {
"MessageLagMs": <value>
}
}
```
</TabItem>
</Tabs>

Allowed message lag in milliseconds while still considered in sync. Defaults to `1000`.

- #### `Arbitrum.ExposeMultiGas` \{#arbitrum-exposemultigas\}

<Tabs groupId="usage">
<TabItem value="cli" label="CLI">
```
--arbitrum-exposemultigas [true|false]
--Arbitrum.ExposeMultiGas [true|false]
```
</TabItem>
<TabItem value="env" label="Environment variable">
```
NETHERMIND_ARBITRUMCONFIG_EXPOSEMULTIGAS=true|false
```
</TabItem>
<TabItem value="config" label="Configuration file">
```json
{
"Arbitrum": {
"ExposeMultiGas": true|false
}
}
```
</TabItem>
</Tabs>

Experimental: Expose multi-dimensional gas in transaction receipts. Defaults to `false`.


### Blocks

- #### `Blocks.BlockProductionBlobLimit` \{#blocks-blockproductionbloblimit\}
Expand Down
72 changes: 72 additions & 0 deletions docs/get-started/running-node/l2-networks.md
Original file line number Diff line number Diff line change
Expand Up @@ -232,3 +232,75 @@ For more information, see [Run a node for Taiko Hoodi](https://docs.taiko.xyz/gu
**See also**

- [Enable a prover](https://docs.taiko.xyz/guides/node-operators/enable-a-prover/)

## Arbitrum

An [Arbitrum node](https://docs.arbitrum.io/run-arbitrum-node/overview) consists of two parts: [Nitro](https://github.com/OffchainLabs/nitro), the rollup node developed by Offchain Labs, paired with an L2 execution client.

<Tabs groupId="network">
<TabItem value="arb-mainnet" label="Arbitrum One">

:::info Note
For Arbitrum One, the L1 node must be running on Ethereum Mainnet.
:::

To run Nethermind on Arbitrum One, use the following command:

```bash
nethermind \
-c arbitrum-mainnet \
--data-dir path/to/data/dir
```

Below is a sample command to run Nitro paired with Nethermind, assuming they both are running on the same machine:

```bash
export L1_RPC_URL=... # The URL of the L1 node RPC interface
export L1_BEACON_URL=... # The URL of the L1 node Beacon interface

nitro \
--parent-chain.connection.url=$L1_RPC_URL \
--parent-chain.blob-client.beacon-url=$L1_BEACON_URL \
--chain.id=42161 \
--execution.forwarding-target="" \
--node.feed.input.url=wss://arb1.arbitrum.io/feed
```

</TabItem>
<TabItem value="arb-sepolia" label="Arbitrum Sepolia">

:::info Note
For Arbitrum Sepolia, the L1 node must be running on Sepolia.
:::

To run Nethermind on Arbitrum Sepolia, use the following command:

```bash
nethermind \
-c arbitrum-sepolia \
--data-dir path/to/data/dir
```

Below is a sample command to run Nitro paired with Nethermind, assuming they both are running on the same machine:

```bash
export L1_RPC_URL=... # The URL of the L1 Sepolia node RPC interface
export L1_BEACON_URL=... # The URL of the L1 Sepolia node Beacon interface

nitro \
--parent-chain.connection.url=$L1_RPC_URL \
--parent-chain.blob-client.beacon-url=$L1_BEACON_URL \
--chain.id=421614 \
--execution.forwarding-target="" \
--node.feed.input.url=wss://sepolia-rollup.arbitrum.io/feed
```

</TabItem>
</Tabs>

For available Nitro settings, see [Nitro configuration options](https://docs.arbitrum.io/run-arbitrum-node/nitro/reference/configuration).

**See also**

- [Arbitrum configuration](../../fundamentals/configuration.md#arbitrum)
- [Run an Arbitrum node](https://docs.arbitrum.io/run-arbitrum-node/overview)