A simple Docker script for launching fullnode for Orbit chains.
Please refer to https://docs.arbitrum.io/node-running/how-tos/running-an-orbit-node#prerequisites
Note
For steps 2 and 3, please contact AltLayer team directly for the location of the latest files for your chain.
- Clone this repository
- Obtain the
nodeConfigFullNodeExt.jsonfile for your chain and place in your clone directory - If available, extract the latest snapshot of the chain into your clone directory
- Your clone directory should now contain a
persistencefolder, with all chain data stored inpersistence/<chain name>
- Your clone directory should now contain a
- Fill up
RPC_URLinvariables.sh- This is the RPC URL for your settlement chain (e.g., Arbitrum Sepolia)
- You can consider publicly available endpoints (e.g., here), but it's recommended to source one with higher rate limits to avoid any issues
- If necessary, customize the other parameters in
variables.shDOCKER_TAG: The latest supported version by your Orbit chainPORT_RPC: HTTP-RPC server listening portPORT_WS: WS-RPC server listening portEXTRA_OPTS: Any additional nitro parameters
./start.shYou should see something like:
Directory does not exist: /home/ubuntu/orbit-full-node/persistence
Creating...
Container for orbit-full-node does not exist
Creating...
dd04b00ff88cf323f5396491dfd7c95a92962a83ac450714134b3b0b130e9fb8
docker logs -f orbit-full-nodecurl --location 'localhost:8547' \
--header 'Content-Type: application/json' \
--data '{
"jsonrpc": "2.0",
"method": "eth_syncing",
"param": [],
"id": 2
}'If the node is still syncing, you should see something like:
{
"jsonrpc": "2.0",
"id": 2,
"result": {
"batchProcessed": 927,
"batchSeen": 927,
"blockNum": 19086,
"broadcasterQueuedMessagesPos": 0,
"messageOfLastBlock": 19087,
"messageOfProcessedBatch": 385836,
"msgCount": 385837
}
}Or if the syncing has completed:
{"jsonrpc":"2.0","id":2,"result":false}curl --location 'localhost:8547' \
--header 'Content-Type: application/json' \
--data '{
"jsonrpc": "2.0",
"method": "eth_blockNumber",
"id": 2
}'This should return something like:
{
"jsonrpc": "2.0",
"id": 2,
"result": "0x2139"
}./stop.shNote that stopping the node will not remove the persistence folder.