diff --git a/docs/architecture/stack/index.mdx b/docs/architecture/stack/index.mdx index f2f6e5b61..0500cfdae 100644 --- a/docs/architecture/stack/index.mdx +++ b/docs/architecture/stack/index.mdx @@ -1,6 +1,6 @@ --- title: Linea software -image: /img/socialCards/the-linea-stack.jpg +image: /img/socialCards/linea-software.jpg --- import DocCardList from "@theme/DocCardList"; diff --git a/docs/developers/guides/run-a-node/index.mdx b/docs/developers/guides/run-a-node/index.mdx index 813d1a034..e4889d880 100644 --- a/docs/developers/guides/run-a-node/index.mdx +++ b/docs/developers/guides/run-a-node/index.mdx @@ -9,14 +9,18 @@ import DocCardList from "@theme/DocCardList"; There are no financial incentives for running a Linea node, but it does allow you to: -- Call the Linea JSON RPC API methods and submit transactions to the mempool without relying on an RPC provider. -- Have a local copy of the Linea blockchain. This view of the state is "trusted" until the transaction, or the - block that transaction is in, has been finalized on L1. +- Call the Linea JSON RPC API methods and submit transactions to the mempool without relying on an +RPC provider. Note that using [Linea-specific API methods](/developers/reference/api) such as +`linea_estimateGas` requires Besu and [the `linea-sequencer` plugin](/developers/guides/run-a-node/linea-sequencer). +- Have a local copy of the Linea blockchain. This view of the state is "trusted" until the +transaction, or the block that transaction is in, has been finalized on L1. You don't need to +install additional plugins to follow chain activity. :::note -Running a sequencer node is currently not possible and there is no option to vote on blocks as part of the consensus -mechanism or [fork-choice](https://eth2book.info/capella/part3/forkchoice/#whats-a-fork-choice) like on Ethereum. +Running a sequencer node is currently not possible and there is no option to vote on blocks as part +of the consensus mechanism or [fork-choice](https://eth2book.info/capella/part3/forkchoice/#whats-a-fork-choice) +like on Ethereum. ::: diff --git a/docs/developers/guides/run-a-node/linea-sequencer.mdx b/docs/developers/guides/run-a-node/linea-sequencer.mdx new file mode 100644 index 000000000..8e7b31d13 --- /dev/null +++ b/docs/developers/guides/run-a-node/linea-sequencer.mdx @@ -0,0 +1,37 @@ +--- +title: Install the linea-sequencer plugin for Besu +description: How to install and configure the linea-sequencer plugin for Besu +image: /img/socialCards/install-the-linea-sequencer-plugin-for-besu.jpg +--- + +# Install `linea-sequencer` + +If you want to run a Linea node and use it to interact with the blockchain, rather than running a +'follower' node that simply keeps a local copy of the chain, then you will need to install the +`linea-sequencer` plugin to ensure full functionality. This plugin only works with Besu. + +Specifically, the Linea-specific API methods documented in our [reference section](/developers/reference/api) +will not work unless you install and configure `linea-sequencer`. + +## Steps + +1. From the [`linea-sequencer` releases page](https://github.com/Consensys/linea-sequencer/releases), +download the `.jar` file for the latest release. + +2. In the local Besu runtime directory (where you will run Besu from), create a directory called +`plugins` and place the `.jar` file there. + +3. In the Besu configuration file (called `config-mainnet.toml` if you downloaded the [file from +our instructions](pathname:///files/besu/config-mainnet.toml)), add `LINEA` to the list of RPC +methods: + + ``` + rpc-http-api=["ADMIN","NET","ETH","WEB3","TXPOOL","LINEA"] + ``` + + Alternatively, you can add `LINEA` to this list in the command line by running: + ``` + --rpc-http-api=ADMIN,NET,ETH,WEB3,TXPOOL,LINEA + ``` + +When you run Besu, you will see the `linea-sequencer` plugin registered during startup. diff --git a/docs/developers/guides/run-a-node/use-binary.mdx b/docs/developers/guides/run-a-node/use-binary.mdx index fdd4f75ed..3d2b5bb89 100644 --- a/docs/developers/guides/run-a-node/use-binary.mdx +++ b/docs/developers/guides/run-a-node/use-binary.mdx @@ -56,6 +56,19 @@ Download the genesis file and Besu configuration file. +:::warning[Important: enable linea-sequencer] + +You must install and enable the `linea-sequencer` Besu plugin if you are offering RPC services or +hosting nodes. Enabling the plugin is a requirement for using certain API methods, such as +[`linea_estimateGas`](/developers/reference/api/linea-estimategas). + +Please see our [instructions for installing the plugin](./linea-sequencer). + +If you are running a node to follow the chain activity, rather than submit transactions, you don't +need to install `linea-sequencer`. + +::: + ### 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: @@ -72,9 +85,9 @@ Ensure you mount the Besu `data-path` to the custom volume when you start the no -### Step 4. Configure the Besu configuration file. +### Step 4. Configure the Besu configuration file -In your Besu configuration file (`config-mainnet.toml`, `config-goerli.toml`, or `config-sepolia.toml`), configure +In your Besu configuration file (`config-mainnet.toml` or `config-sepolia.toml`), configure the following options: - Set `data-path` to the location you want to store your data. diff --git a/static/files/besu/besu-mainnet.zip b/static/files/besu/besu-mainnet.zip index 348e48e3e..1a4652c02 100644 Binary files a/static/files/besu/besu-mainnet.zip and b/static/files/besu/besu-mainnet.zip differ diff --git a/static/files/besu/besu-sepolia.zip b/static/files/besu/besu-sepolia.zip index 3eeae47d9..c16cc32f1 100644 Binary files a/static/files/besu/besu-sepolia.zip and b/static/files/besu/besu-sepolia.zip differ diff --git a/static/files/besu/config-mainnet.toml b/static/files/besu/config-mainnet.toml index fbc742ca3..e9a3923ed 100644 --- a/static/files/besu/config-mainnet.toml +++ b/static/files/besu/config-mainnet.toml @@ -3,7 +3,7 @@ data-path="/path/to/your/directory" # Sync mode and data layer implementation -sync-mode="X_SNAP" +sync-mode="SNAP" data-storage-format="BONSAI" Xsnapsync-synchronizer-flat-db-healing-enabled=true diff --git a/static/files/besu/config-sepolia.toml b/static/files/besu/config-sepolia.toml index 091db451d..41c57d778 100644 --- a/static/files/besu/config-sepolia.toml +++ b/static/files/besu/config-sepolia.toml @@ -3,7 +3,7 @@ data-path="/path/to/your/directory" # Sync mode and data layer implementation -sync-mode="X_SNAP" +sync-mode="SNAP" data-storage-format="BONSAI" Xsnapsync-synchronizer-flat-db-healing-enabled=true diff --git a/static/img/socialCards/ethsendrawtransaction.jpg b/static/img/socialCards/ethsendrawtransaction.jpg index a6dd55e39..7baa8c0c7 100644 Binary files a/static/img/socialCards/ethsendrawtransaction.jpg and b/static/img/socialCards/ethsendrawtransaction.jpg differ diff --git a/static/img/socialCards/install-the-linea-sequencer-plugin-for-besu.jpg b/static/img/socialCards/install-the-linea-sequencer-plugin-for-besu.jpg new file mode 100644 index 000000000..5ac9040d6 Binary files /dev/null and b/static/img/socialCards/install-the-linea-sequencer-plugin-for-besu.jpg differ diff --git a/static/img/socialCards/linea-software.jpg b/static/img/socialCards/linea-software.jpg new file mode 100644 index 000000000..1a957984a Binary files /dev/null and b/static/img/socialCards/linea-software.jpg differ diff --git a/static/img/socialCards/lineaestimategas.jpg b/static/img/socialCards/lineaestimategas.jpg index 905197d7c..4145622e6 100644 Binary files a/static/img/socialCards/lineaestimategas.jpg and b/static/img/socialCards/lineaestimategas.jpg differ