Run a Node
How to Run a re.al Node
This guide provides step-by-step instructions for running a re.al node on your local machine.
Prerequisites
Before you begin, ensure you have the latest Docker image:
offchainlabs/nitro-node:v2.3.4-b4cc111
Minimum Hardware Requirements
Component
Minimum Requirement
CPU
2-4 core CPU (For AWS: t3 xLarge)
RAM
8-16 GB
Disk
Depends on traffic volume
Step 1: Create a directory for the chain
mkdir -p ~/tangbile-chain
Step 2: Run the node
docker run --rm -it -v ~/tangible-chain:/home/user/.arbitrum \
-p 0.0.0.0:8547:8547 \
-p 0.0.0.0:8548:8548 \
offchainlabs/nitro-node:v2.3.4-b4cc111 \
--parent-chain.connection.url=https://eth.llamarpc.com \
--parent-chain.blob-client.beacon-url=<your-beacon-mainnet-url> \
--chain.id=111188 \
--chain.name="real" \
--http.api=net,web3,eth \
--http.addr=0.0.0.0 \
--execution.forwarding-target=https://real.drpc.org \
--node.data-availability.enable \
--node.data-availability.rest-aggregator.enable \
--node.data-availability.rest-aggregator.urls=<your-dac-rest-url> \
--node.feed.input.url=wss://real.drpc.org \
--chain.info-json="[{\"chain-id\":111188,\"parent-chain-id\":1,\"parent-chain-is-arbitrum\":false,\"chain-name\":\"real\",\"chain-config\":{\"homesteadBlock\":0,\"daoForkBlock\":null,\"daoForkSupport\":true,\"eip150Block\":0,\"eip150Hash\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"eip155Block\":0,\"eip158Block\":0,\"byzantiumBlock\":0,\"constantinopleBlock\":0,\"petersburgBlock\":0,\"istanbulBlock\":0,\"muirGlacierBlock\":0,\"berlinBlock\":0,\"londonBlock\":0,\"clique\":{\"period\":0,\"epoch\":0},\"arbitrum\":{\"EnableArbOS\":true,\"AllowDebugPrecompiles\":false,\"DataAvailabilityCommittee\":true,\"InitialArbOSVersion\":11,\"GenesisBlockNum\":0,\"MaxCodeSize\":24576,\"MaxInitCodeSize\":49152,\"InitialChainOwner\":\"0xbB0385FebfD25E01527617938129A34bD497331e\"},\"chainId\":111188},\"rollup\":{\"bridge\":\"0x39D2EEcC8B55f46aE64789E2494dE777cDDeED03\",\"inbox\":\"0xf538671ddd60eE54BdD6FBb0E309c491A7A2df11\",\"sequencer-inbox\":\"0x51C4a227D59E49E26Ea07D8e4E9Af163da4c87A0\",\"rollup\":\"0xc4F7B37bE2bBbcF07373F28c61b1A259dfe49d2a\",\"validator-utils\":\"0x2b0E04Dc90e3fA58165CB41E2834B44A56E766aF\",\"validator-wallet-creator\":\"0x9CAd81628aB7D8e239F1A5B497313341578c5F71\",\"deployed-at\":19446518}}]"
Step 3: Check the logs
INFO [07-02|06:00:56.125] created jwt file filename=/home/user/.arbitrum/jwtsecret
INFO [07-02|06:00:56.125] Running Arbitrum nitro node revision=v2.3.4-b4cc111 vcs.time=2024-05-02T11:51:35-05:00
INFO [07-02|06:00:57.263] connected to l1 chain l1url=https://eth.llamarpc.com l1chainid=1
WARN [07-02|06:00:57.969] Getting file info error="stat : no such file or directory"
WARN [07-02|06:00:57.973] Getting file info error="stat /workspace/target/machines: no such file or directory"
WARN [07-02|06:00:57.974] Getting file info error="stat /home/user/machines: no such file or directory"
INFO [07-02|06:00:57.976] Using leveldb as the backing database
INFO [07-02|06:00:57.977] Allocated cache and file handles database=/home/user/.arbitrum/real/nitro/l2chaindata cache=16.00MiB handles=16 readonly=true
INFO [07-02|06:00:57.977] Using leveldb as the backing database
INFO [07-02|06:00:57.977] Allocated cache and file handles database=/home/user/.arbitrum/real/nitro/l2chaindata cache=2.00GiB handles=512
INFO [07-02|06:00:57.998] Using LevelDB as the backing database
INFO [07-02|06:00:58.019] Opened ancient database database=/home/user/.arbitrum/real/nitro/l2chaindata/ancient/chain readonly=false
INFO [07-02|06:00:58.019] Initializing ancients=0 genesisBlockNr=0
...
Step 4: Check the node status
curl -X POST http://localhost:8547/ \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
Shutting Down the Node
To ensure the current state is saved properly, allow a graceful shutdown:
docker stop --time=300 $(docker ps -aq)
Last updated