Quick Start Guide for ZKsync Node
Prerequisites
- Installations Required:
System Requirements
The following are minimal requirements to run the node using Docker:
- CPU: A relatively modern CPU is recommended.
- RAM: 32 GB
- Storage:
- Testnet Nodes: 30 GB
- Mainnet Nodes: 300 GB, with the state growing about 1TB per month.
- Network: 100 Mbps connection (1 Gbps+ recommended)
Setup Instructions
- Clone the ZKsync Era repository and navigate to the ZKsync node guide:
git clone https://github.com/matter-labs/zksync-era.git cd zksync-era/docs/guides/external-node
Running a ZKsync Node Locally
Starting the Node
- For a Mainnet instance:
cd docker-compose-examples docker compose --file mainnet-external-node-docker-compose.yml up
- For a Testnet instance:
cd docker-compose-examples docker compose --file testnet-external-node-docker-compose.yml up
Resetting the Node State
- For a Mainnet instance:
cd docker-compose-examples docker compose --file mainnet-external-node-docker-compose.yml down --volumes
- For a Testnet instance:
cd docker-compose-examples docker compose --file testnet-external-node-docker-compose.yml down --volumes
Monitoring Node Status
Access the local Grafana dashboard to see the node status after recovery: Local Grafana Dashboard.
API Access
- HTTP JSON-RPC API: Port
3060
- WebSocket API: Port
3061
Important Notes
- Initial Recovery: The node will recover from a snapshot on its first run, which may take up to 10 hours. During this period, the API server will not serve any requests.
- Historical Data: For access to historical transaction data, consider recovery from DB dumps. Refer to the Advanced Setup section for more details.
- DB Dump: For nodes that operate from a DB dump, which allows starting a ZKsync node with a full historical transactions history, refer to the documentation on running from DB dumps at 03_running.md.
Advanced Setup
For additional configurations like monitoring, backups, recovery from DB dump or snapshot, and custom PostgreSQL settings, please refer to the ansible-en-role repository.