Run
Local
To run node locally, first launch anvil:
anvil --load-state ./local-chains/v30/zkos-l1-state.json --port 8545
then launch the server:
cargo run
To restart the chain, erase the local DB and re-run anvil:
rm -rf db/*
By default, fake (dummy) proofs are used both for FRI and SNARK proofs.
Rich account:
PRIVATE_KEY=0x7726827caac94a7f9e1b160f7ea819f172f7b6f9d2a97f992c38edeab82d4110
ACCOUNT_ID=0x36615Cf349d7F6344891B1e7CA7C72883F5dc049
Example transaction to send:
cast send -r http://localhost:3050 0x5A67EE02274D9Ec050d412b96fE810Be4D71e7A0 --value
100 --private-key 0x7726827caac94a7f9e1b160f7ea819f172f7b6f9d2a97f992c38edeab82d4110
Config options
See node/sequencer/config.rs for config options and defaults. Use a JSON configuration file to override the defaults, e.g.:
cargo run --release -- --config ./local-chains/v30/config.json
Explore the local-chains folder for additional chain configs grouped by protocol version. Detailed information is available in local-chains/README.md.
You can also use environment variables to override the default settings:
prover_api_fake_provers_enabled=false cargo run --release
If both the JSON config file and environment variables are set, the latter takes precedence.
Ephemeral mode Ephemeral mode runs the node using a temporary, isolated state directory, allowing you to spin up one or more local chains without them interfering with the same folder. When enabled, the node creates a temporary base directory for RocksDB and the file-backed object store, this directory is automatically removed on shutdown. To remain as lightweight as possible, Ephemeral mode disables all APIs except for JSON-RPC (status, prometheus APIs etc are unavailable). It can be used for quick local testing and multi-chain setups.
The ephemeral setting is part of the general config and can be set like any other config value:
general_ephemeral=true cargo run --release