@@ -13,11 +13,9 @@ This repository is a modular Rust workspace for the Scroll rollup node. It is de
1313
1414```
1515.
16- ├── bin/
17- │ └── rollup/ # Main binary crate (the node)
18- │ ├── src/
19- │ └── assets/
16+ ├── book/ # mdBook documentation (published to GitHub Pages)
2017├── crates/ # Internal library crates
18+ │ ├── node/ # Main binary crate (the node)
2119│ ├── codec/
2220│ ├── database/
2321│ │ ├── db/
@@ -27,20 +25,21 @@ This repository is a modular Rust workspace for the Scroll rollup node. It is de
2725│ ├── chain-orchestrator/
2826│ ├── l1/
2927│ ├── network/
30- │ ├── node/
3128│ ├── primitives/
3229│ ├── providers/
3330│ ├── scroll-wire/
3431│ ├── signer/
3532│ ├── sequencer/
3633│ └── watcher/
34+ ├── sequencer-migration/ # Migration tooling from l2geth to l2reth
35+ ├── tests/ # Integration tests
3736├── Cargo.toml # Workspace manifest
3837└── ...
3938```
4039
4140## Crate Descriptions
4241
43- - ** bin/rollup /** : The main binary crate. This is the entry point for running the rollup node.
42+ - ** crates/node /** : The main binary crate. This is the entry point for running the rollup node.
4443- ** crates/codec/** : Implements encoding/decoding logic for rollup data and payloads.
4544- ** crates/database/db/** : Database abstraction and storage logic for batches, blocks, and messages.
4645- ** crates/database/migration/** : Database schema migrations using SeaORM.
@@ -56,6 +55,9 @@ This repository is a modular Rust workspace for the Scroll rollup node. It is de
5655- ** crates/scroll-wire/** : Wire protocol definitions for Scroll-specific networking.
5756- ** crates/sequencer/** : Sequencer logic for ordering and batching transactions.
5857- ** crates/watcher/** : Monitors L1 chain state and handles reorgs and notifications.
58+ - ** book/** : mdBook documentation published to [ https://scroll-tech.github.io/rollup-node/ ] ( https://scroll-tech.github.io/rollup-node/ )
59+ - ** tests/** : Integration tests for the rollup node, including E2E and sequencer migration tests
60+ - ** sequencer-migration/** : Scripts and tooling for migrating from l2geth to rollup-node (l2reth)
5961
6062## Building the Project
6163
@@ -70,19 +72,20 @@ cargo build --bin rollup-node
7072Or, from the binary crate directory:
7173
7274``` sh
73- cd bin/rollup
75+ cd crates/node
7476cargo build
7577```
7678
7779## Running the Node
7880
79- After building, run the node with:
81+ For comprehensive instructions on running a node, including:
82+ - Hardware requirements
83+ - Configuration options
84+ - Example configurations for mainnet and sepolia
85+ - Logging and debugging
86+ - Troubleshooting
8087
81- ``` sh
82- cargo run --workspace --bin rollup-node -- [ARGS]
83- ```
84-
85- Replace ` [ARGS] ` with any runtime arguments you require.
88+ Please refer to the official documentation: ** [ https://scroll-tech.github.io/rollup-node/ ] ( https://scroll-tech.github.io/rollup-node/ ) **
8689
8790## Running Tests
8891
@@ -116,61 +119,10 @@ cargo build --release --bin rollup-node
116119
117120The release binary will be located at ` target/release/rollup-node ` .
118121
119- ## Running a Sequencer Node
120-
121- To run a sequencer node you should build the binary in release mode using the instructions defined above.
122-
123- Then, you can run the sequencer node with the following command:
124-
125- ### Using Private Key File
126- ``` sh
127- ./target/release/rollup-node node --chain dev -d --sequencer.enabled --signer.key-file /path/to/your/private.key --http --http.api admin,debug,eth,net,trace,txpool,web3,rpc,reth,ots,flashbots,miner,mev
128- ```
129-
130- ** Note** : The private key file should contain a hex-encoded private key (` 64 ` characters, optionally prefixed with ` 0x ` ).
131-
132- ### Using AWS KMS
133- ``` sh
134- ./target/release/rollup-node node --chain dev -d --sequencer.enabled --signer.aws-kms-key-id arn:aws:kms:REGION:ACCOUNT:key/KEY-ID --http --http.api admin,debug,eth,net,trace,txpool,web3,rpc,reth,ots,flashbots,miner,mev
135- ```
136-
137- ### Signer Configuration Notes
122+ ## Documentation
138123
139- When running a sequencer, a signer is required unless the ` --test ` flag is specified. The two signing methods are mutually exclusive - use either ` --signer.key-file ` or ` --signer.aws-kms-key-id ` , but not both.
140-
141- ** Private Key File** : Keep your private key file secure and never commit it to version control.
142-
143- ** AWS KMS** : Requires KMS permissions ` kms:GetPublicKey ` and ` kms:Sign ` for the specified key.
144-
145- ### General Information
146-
147- The above commands will start a dev node in sequencer mode with all rpc apis enabled. You can adjust the ` --http.api ` flag to include or exclude specific APIs as needed.
148-
149- The chain will be configured with a genesis that funds 20 addresses derived from the mnemonic:
150- ```
151- test test test test test test test test test test test junk
152- ```
153-
154- ### Configuration Options
155-
156- A list of sequencer specific configuration options can be seen below:
157-
158- ``` sh
159- --scroll-sequencer-enabled
160- Enable the scroll block sequencer
161- --scroll-block-time < SCROLL_BLOCK_TIME>
162- The block time for the sequencer [default: 2000]
163- --payload-building-duration < PAYLOAD_BUILDING_DURATION>
164- The payload building duration for the sequencer (milliseconds) [default: 500]
165- --max-l1-messages-per-block < MAX_L1_MESSAGES_PER_BLOCK>
166- The max L1 messages per block for the sequencer [default: 4]
167- --fee-recipient < FEE_RECIPIENT>
168- The fee recipient for the sequencer [default: 0x5300000000000000000000000000000000000005]
169- --signer.key-file < FILE_PATH>
170- Path to the hex-encoded private key file for the signer (optional 0x prefix). Mutually exclusive with AWS KMS key ID
171- --signer.aws-kms-key-id < KEY_ID>
172- AWS KMS Key ID or ARN for signing transactions. Mutually exclusive with key file
173- ```
124+ - ** [ Official Documentation Book] ( https://scroll-tech.github.io/rollup-node/ ) ** - Comprehensive guide for running follower and sequencer nodes
125+ - ** [ Sequencer Migration Guide] ( ./sequencer-migration/README.md ) ** - Documentation for migrating from l2geth to rollup-node
174126
175127## Contributing
176128
0 commit comments