```
general_l1_rpc_url=https://ethereum-sepolia.publicnode.com \
2026-02-04T16:46:29.909530Z INFO zksync_os_rocksdb::db: Initialized RocksDB `block_replay_wal` at `/home/evl/Desktop/validators/local/public-node-stage-rollup/block_replay_wal` with RocksDBOptions { block_cache_capacity: None, include_indices_and_filters_in_block_cache: false, large_memtable_capacity: None, stalled_writes_retries: StalledWritesRetries { max_batch_size: 134217728, timeout: 10s, start_interval: 50ms, max_interval: 2s, scale_factor: 1.5 }, max_open_files: None }
thread 'main' panicked at /home/evl/code/zksync-os-server/lib/genesis/src/lib.rs:166:14:
Failed to load genesis upgrade transaction: server returned an error response: error code -32000: historical state 91cbb5a5edd48198da560105a9e1037fe3abc80b963adf641a5c57de9db64239 is not available
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
```
```
l1_watcher_poll_interval=15s \
z
failed to init CommittedBatchProvider: HTTP error 400 with body: {"jsonrpc":"2.0","id":92,"error":{"code":-32600,"message":"Under the Free tier plan, you can make eth_getLogs requests with up to a 10 block range. Based on your parameters, this block range should work: [0x9b7efb, 0x9b7f04]. Upgrade to PAYG for expanded block range."}}
Caused by:
HTTP error 400 with body: {"jsonrpc":"2.0","id":92,"error":{"code":-32600,"message":"Under the Free tier plan, you can make eth_getLogs requests with up to a 10 block range. Based on your parameters, this block range should work: [0x9b7efb, 0x9b7f04]. Upgrade to PAYG for expanded block range."}}
```
```
l1_watcher_poll_interval=15s \
l1_watcher_max_blocks_to_process=10 \
2026-02-04T16:37:02.758105Z ERROR zksync_os_server: L1 upgrade transaction watcher component failed err=Transport(Transport(Custom("Max retries exceeded HTTP error 429 with body: {\"jsonrpc\":\"2.0\",\"id\":729,\"error\":{\"code\":429,\"message\":\"Your app has exceeded its compute units per second capacity. If you have retries enabled, you can safely ignore this message. If not, check out https://docs.alchemy.com/reference/throughput\"}}")))
2026-02-04T16:37:05.826008Z ERROR zksync_os_server: L1 transaction watcher component failed err=Transport(Transport(Custom("Max retries exceeded HTTP error 429 with empty body")))
```
```
evl @ ~/code/zksync-os-server ~> genesis_bridgehub_address__json=null \
genesis_bytecode_supplier_address__json=null \
genesis_chain_id__json=null \
genesis_genesis_input_path__json=null \
general_l1_rpc_url=http://localhost:8545 \
sequencer_block_replay_download_address=https://zksync-os-stage-rollup-block-replay.zksync.dev \
general_main_node_rpc_url=https://zksync-os-stage-rollup.zksync.dev \
general_rocks_db_path=/home/evl/Desktop/validators/local/stage-rollup \
cargo run --release
```
```
install https://matter-labs.github.io/zksync-os-server/latest/setup/prerequisites.html
docker build . -t zksync-os-server:local
cd ..
mkdir zksync-os-mainnet-dawn-external-node
sudo chown -R 10001:10001 zksync-os-mainnet-dawn-external-node/
docker run -d \
--name zksync-os-server-mainnet-dawn \
--restart unless-stopped \
-e general_l1_rpc_url=https://l1-api-mainnet-1.zksync-nodes.com \
-e genesis_bridgehub_address__json=null \
-e genesis_chain_id__json=null \
-e genesis_genesis_input_path__json=null \
-e genesis_bytecode_supplier_address__json=null \
-e general_run_priority_tree=false \
\
-e sequencer_block_replay_download_address=https://zksync-os-mainnet-dawn-block-replay.zksync.io \
-e general_main_node_rpc_url=https://zksync-os-mainnet-dawn.zksync.io \
-v /root/zksync-os-mainnet-dawn-external-node/:/app/db/node1/ \
-v /root/zksync-os-mainnet-dawn-external-node/:/app/db/shared/ \
zksync-os-server:local
```
```
evl @ ~/code/zksync-os-server ~> git checkout main 1.59s 12:21:08
Already on 'main'
Your branch is up to date with 'origin/main'.
evl @ ~/code/zksync-os-server ~> git pull origin main 36ms 12:21:59
From github.com:matter-labs/zksync-os-server
* branch main -> FETCH_HEAD
Already up to date.
evl @ ~/code/zksync-os-server ~> rm -r db/node1/* 624ms 12:20:56
zsh: sure you want to delete all the files in /home/evl/code/zksync-os-server/db/node1 [yn]? y
zsh: no matches found: db/node1/*
evl @ ~/code/zksync-os-server ~> anvil --load-state zkos-l1-state.json --port 8545
...
evl @ ~/code/zksync-os-server ~> prover_api_fake_fri_provers_enabled=false prover_api_fake_snark_provers_enabled=false cargo run --release
...
2025-11-27T11:23:12.778893Z DEBUG zksync_os_server::prover_input_generator: sending block with prover input to batcher block_number=1
2025-11-27T11:23:12.778919Z DEBUG zksync_os_server::prover_input_generator: ProverInputGenerator started processing block 2 with 6 transactions
ZK RISC-V simulator is starting
[/home/evl/.cargo/git/checkouts/zksync-airbender-8ab8222a00c65218/c23fd00/risc_v_simulator/src/sim/mod.rs:192:13] path.as_ref() = "./db/node1/app_bins/v5/singleblock_batch.bin"
[/home/evl/.cargo/git/checkouts/zksync-airbender-8ab8222a00c65218/c23fd00/risc_v_simulator/src/sim/mod.rs:198:13] buffer.len() / 4 = 307257
2025-11-27T11:23:12.781512Z INFO zksync_os_server::batcher: Recreating existing batch batch_number=1 first_block=1 last_block=1
2025-11-27T11:23:12.781533Z DEBUG zksync_os_server::batcher: Adding block to recreated batch batch_number=1 block_number=1
2025-11-27T11:23:12.781804Z ERROR zksync_os_pipeline::builder: batcher component failed err=Rebuilt batch info does not match stored batch info for batch 1. Rebuilt info: StoredBatchInfo { batch_number: 1, state_commitment: 0x5aa62755e7dda9266ba51ae8f7d6d976bdda7e62778134ecf331b97663e95d0a, number_of_layer1_txs: 0, priority_operations_hash: 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470, dependency_roots_rolling_hash: 0x0000000000000000000000000000000000000000000000000000000000000000, l2_to_l1_logs_root_hash: 0x471fa154048235d772cc74087d2ba5a3be34bd3b32e2a8c2d73ddeabc34abbde, commitment: 0xd0e9826e08783dc23da3b9f3c99a560adc47e89176b3ba975a2c25d6b07e811b, last_block_timestamp: 1764242590 }, Stored info: StoredBatchInfo { batch_number: 1, state_commitment: 0x5df396f03ae2d9f4c7c98a12dafa21b7f27e22f395a1551b7eff684e5fb77c4f, number_of_layer1_txs: 7, priority_operations_hash: 0x96363fe398dd80d1ac08a5a4f94d54e2e2313d6e2ea31a38e476202288fcd9c4, dependency_roots_rolling_hash: 0x0000000000000000000000000000000000000000000000000000000000000000, l2_to_l1_logs_root_hash: 0x8088f7e0149cf6902107024817deeff995e0f37522989cb7403640c21fd65a47, commitment: 0x58e7851059f28c3c2880dddebeed56bca09dda1fefad72ed50488a04da8d24d3, last_block_timestamp: 1762438532 }
2025-11-27T11:23:12.781818Z WARN zksync_os_pipeline::builder: batch_verification component unexpectedly exited
2025-11-27T11:23:12.781826Z ERROR zksync_os_pipeline::builder: fri_proving component failed err=FRI proving input stream ended unexpectedly
2025-11-27T11:23:12.781828Z INFO zksync_os_server: One of the subsystems exited - exiting process.
2025-11-27T11:23:12.781835Z ERROR zksync_os_pipeline::builder: gapless_committer component failed err=GaplessCommitter input stream ended unexpectedly
2025-11-27T11:23:12.781849Z ERROR zksync_os_pipeline::builder: upgrade_gatekeeper component failed err=UpgradeGatekeeper input stream ended unexpectedly
2025-11-27T11:23:12.781905Z WARN zksync_os_server: Main task unexpectedly exited
Took 43183647 cycles to finish
2025-11-27T11:23:13.002300Z INFO zksync_os_server::prover_input_generator: Completed prover input computation in 223.331828ms. block_number=2
```
```
0x58215d25482d81e7cf127d7d435c81beaa9a29a44c3193aca05bd308dcba09c1
```
```
evl @ ~/code/zksync_tools/zkos/update_contract_vk ~> VERIFIER_ID=4 CHAIN_ID=2702 BRIDGEHUB_ADDRESS=0x236D1c3Ff32Bd0Ca26b72Af287E895627c0478cE RPC_URL=https://eth-sepolia.g.alchemy.com/v2/bP0tJvJx1jJRKMXlWbLStGxm5amUSy4j DEPLOYER_KEY=$DEPLOYER_KEY ERA_CONTRACTS_TAG=zkos-v0.29.11 ./update.sh
...
**** Deploying verifiers *****
L1VerifierPlonk deployed to: 0x95A9488f66f225780714f147e1c70623E6eD1f57
FflonkVerifierPlonk deployed to: 0x9A0bfeF4070cCE25843F291e524770405c57960E
**** Adding verifiers to the verifier contract *****
Please use the calldata below (or call the command) with 0x5555555590930f501c88B73Ea43B3EEb5A71643c private key
CALLDATA:
0x80c6c96700000000000000000000000000000000000000000000000000000000000000040000000000000000000000009a0bfef4070cce25843f291e524770405c57960e00000000000000000000000095a9488f66f225780714f147e1c70623e6ed1f57
COMMAND:
cast send --rpc-url "https://eth-sepolia.g.alchemy.com/v2/bP0tJvJx1jJRKMXlWbLStGxm5amUSy4j" 0x68b5C4C7EcaC4D905911f73Db1B7c64DcFf05676 'addVerifier(uint32,address,address)' 4 0x95A9488f66f225780714f147e1c70623E6eD1f57 0x9A0bfeF4070cCE25843F291e524770405c57960E --from 0x5555555590930f501c88B73Ea43B3EEb5A71643c
evl @ ~ ~> forge verify-contract 0x95A9488f66f225780714f147e1c70623E6eD1f57 L1VerifierPlonk --chain=sepolia --etherscan-api-key "9K2ATFE7EBD6KVEDK17MS73M9JKTFYBRD9"
Error: No contract found with the name `L1VerifierPlonk`
```
```
evl @ ~/code/zksync-airbender ~> ./tools/reproduce/reproduce.sh 1m18s 12:40:10
2 85ms 21h ago docker rm -f verifiers
1 244ms 21h ago docker rmi airbender-verifiers
> 1m 21h ago cargo run --release --bin cli -- run --bin ./tools/verifier/universal.bin --input-file ~/code/zksync-airbender-prover/verifier_input.bin --machine reduced
```
```
2025-11-05T09:41:18.817840Z INFO zksync_os_snark_prover: Supported protocol versions: SupportedProtocolVersions {
vk_hash: 0x6a4509801ec284b8921c63dc6aaba668a0d71382d87ae4095ffc2235154e9fa3
airbender_version: 0.5.0
zksync_os_version: 0.0.26
zkos_wrapper: 0.5.0
bin_md5sum: fd9fd6ebfcfe7b3d1557e8a8b8563dd6
}
```
```
creating genesis file
Error: open repos/zksync-era/contracts/l1-contracts/out/L2ComplexUpgrader.sol/L2ComplexUpgrader.json: no such file or directory
```
```
thread 'main' panicked at /home/evl/.cargo/git/checkouts/zksync-crypto-00d363a409815104/e233826/crates/bellman/src/kate_commitment/mod.rs:87:28:
capacity overflow
stack backtrace:
0: 0x5961fb4c8c22 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::hba0ac3ebdec0302b
1: 0x5961fb4f0e43 - core::fmt::write::h752296e6eed1df48
2: 0x5961fb4c4b23 - std::io::Write::write_fmt::hdc67b8a1ae47802e
3: 0x5961fb4c8a72 - std::sys::backtrace::BacktraceLock::print::h9ae2627f939f6ec0
4: 0x5961fb4c9c72 - std::panicking::default_hook::{{closure}}::h5c801bbbd3f53c67
5: 0x5961fb4c9a75 - std::panicking::default_hook::h0008735e4736e9d8
6: 0x5961fb4ca692 - std::panicking::rust_panic_with_hook::h3622abb623658084
7: 0x5961fb4ca3e6 - std::panicking::begin_panic_handler::{{closure}}::h197cfb5dea60202a
8: 0x5961fb4c9129 - std::sys::backtrace::__rust_end_short_backtrace::hb5fe5e7c5b61ed51
9: 0x5961fb4ca0ad - __rustc[c9acd4f00d26d045]::rust_begin_unwind
10: 0x5961fb4ee830 - core::panicking::panic_fmt::h8d16370d7cdeaf7b
11: 0x5961fb4e62a7 - alloc::raw_vec::capacity_overflow::hb2c71f20ad5c8d31
12: 0x5961fb4e6487 - alloc::raw_vec::handle_error::h84144ef81c430b40
13: 0x5961faa1ceae - zksync_bellman::kate_commitment::Crs<E,T>::read::h384c5f3b5b21640b
14: 0x5961fa1d1c49 - zkos_wrapper::get_trusted_setup::h2ec1bbfbdbde88ae
15: 0x5961fa1d29c1 - zkos_wrapper::prove_risc_wrapper_with_snark::hc771242b53bfdc08
16: 0x5961fa1d3c76 - zkos_wrapper::prove::hbbe3ef125dc1c394
17: 0x5961f9e332ae - zksync_os_snark_prover::run_linking_fri_snark::{{closure}}::h5dc3fe14abd44b05
18: 0x5961f9e35e84 - <core::future::poll_fn::PollFn<F> as core::future::future::Future>::poll::h3c85e06f8fbf0d39
19: 0x5961f9e7e2de - tokio::runtime::park::CachedParkThread::block_on::h56e16bee390411f6
20: 0x5961f9e49f82 - tokio::runtime::runtime::Runtime::block_on::hd236c3f0ab367841
21: 0x5961f9e73814 - zksync_os_snark_prover::main::h88b050641d1fc91f
22: 0x5961f9e7cfb3 - std::sys::backtrace::__rust_begin_short_backtrace::h994f235616dd3fc8
23: 0x5961f9e5de99 - std::rt::lang_start::{{closure}}::h7337d518a5cf2c82
24: 0x5961fb4bbc14 - std::rt::lang_start_internal::h86216dfe9f623c33
25: 0x5961f9e76e45 - main
26: 0x7fd425229d90 - <unknown>
27: 0x7fd425229e40 - __libc_start_main
28: 0x5961f9e30575 - _start
29: 0x0 - <unknown>
```
```
evl @ ~/code/zksync_tools/zkos/update_contract_vk/repos/era-contracts/l1-contracts ~> forge verify-contract
L1VerifierPlonk --chain=sepolia --etherscan-api-key "9K2ATFE7EBD6KVEDK17MS73M9JKTFYBRD9"
Start verifying contract `0xA7198A98919b273ac68a84C83ea4A98b94307a13` deployed on sepolia
Contract [contracts/state-transition/verifiers/L1VerifierPlonk.sol:L1VerifierPlonk] "0xA7198A98919b273ac68a84C83ea4A98b94307a13" is already verified. Skipping verification.
```
```
**** Deploying verifiers *****
L1VerifierPlonk deployed to: 0xA7198A98919b273ac68a84C83ea4A98b94307a13
FflonkVerifierPlonk deployed to: 0x216282AFf02522A232077bf4e4aC1712c2D3a209
**** Adding verifiers to the verifier contract *****
Please use the calldata below (or call the command) with 0x5555555590930f501c88B73Ea43B3EEb5A71643c private key
CALLDATA:
0x80c6c9670000000000000000000000000000000000000000000000000000000000000003000000000000000000000000216282aff02522a232077bf4e4ac1712c2d3a209000000000000000000000000a7198a98919b273ac68a84c83ea4a98b94307a13
COMMAND:
cast send --rpc-url "https://eth-sepolia.g.alchemy.com/v2/bP0tJvJx1jJRKMXlWbLStGxm5amUSy4j" 0x8b0474730CbDff41ecd9f8BaD51811bf8A5E547E 'addVerifier(uint32,address,address)' 3 0xA7198A98919b273ac68a84C83ea4A98b94307a13 0x216282AFf02522A232077bf4e4aC1712c2D3a209 --from 0x5555555590930f501c88B73Ea43B3EEb5A71643c
```
```
Start verifying contract `0xeb9967292F2ff692F467764f74877F8459bA0E24` deployed on sepolia
Submitting verification for [contracts/state-transition/verifiers/L1VerifierFflonk.sol:L1VerifierFflonk] 0xeb9967292F2ff692F467764f74877F8459bA0E24.
Submitted contract for verification:
Response: `OK`
GUID: `ysyyiszvrqlpcms8zkexarww3jex3eczh7hzgweatgawffttss`
URL: https://sepolia.etherscan.io/address/0xeb9967292f2ff692f467764f74877f8459ba0e24
Start verifying contract `0xeb9967292F2ff692F467764f74877F8459bA0E24` deployed on sepolia
Submitting verification for [contracts/state-transition/verifiers/L1VerifierPlonk.sol:L1VerifierPlonk] 0xeb9967292F2ff692F467764f74877F8459bA0E24.
Submitted contract for verification:
Response: `OK`
GUID: `mvzevagbl3jwi8xgkhshq8yh1hsdmcelgnrztw85b3binzxnxj`
URL: https://sepolia.etherscan.io/address/0xeb9967292f2ff692f467764f74877f8459ba0e24
forge verify-contract 0xeb9967292F2ff692F467764f74877F8459bA0E24 L1VerifierPlonk --chain=sepolia --etherscan-api-key "9K2ATFE7EBD6KVEDK17MS73M9JKTFYBRD9" (edited)
```
```
**** Deploying verifiers *****
L1VerifierPlonk deployed to: 0xeb9967292F2ff692F467764f74877F8459bA0E24
FflonkVerifierPlonk deployed to: 0xC3b1Be597309D6ec88E75874c3Bd7Bc4ea6e38fA
**** Adding verifiers to the verifier contract *****
Please use the calldata below (or call the command) with 0x5555555590930f501c88B73Ea43B3EEb5A71643c private key
CALLDATA:
0x80c6c9670000000000000000000000000000000000000000000000000000000000000003000000000000000000000000c3b1be597309d6ec88e75874c3bd7bc4ea6e38fa000000000000000000000000eb9967292f2ff692f467764f74877f8459ba0e24
COMMAND:
cast send --rpc-url "https://eth-sepolia.g.alchemy.com/v2/bP0tJvJx1jJRKMXlWbLStGxm5amUSy4j" 0x68b5C4C7EcaC4D905911f73Db1B7c64DcFf05676 'addVerifier(uint32,address,address)' 3 0xeb9967292F2ff692F467764f74877F8459bA0E24 0xC3b1Be597309D6ec88E75874c3Bd7Bc4ea6e38fA --from 0x5555555590930f501c88B73Ea43B3EEb5A71643c
```
```
evl @ ~/code/zksync_tools/zkos/update_contract_vk ~> VERIFIER_ID=3 CHAIN_ID=2702 BRIDGEHUB_ADDRESS=0x236D1c3Ff32Bd0Ca26b72Af287E895627c0478cE RPC_URL=http://localhost:8545 DEPLOYER_KEY=$DEPLOYER_KEY ERA_CONTRACTS_TAG=zkos-v0.29.9 ./update.sh
BridgeHub diamond proxy for chain 2702 is at: 0x98A0d85435A0e2834142bFD24a30e0c0B6866De2
Current verifier is at: 0x68b5C4C7EcaC4D905911f73Db1B7c64DcFf05676
**** Deploying verifiers *****
L1VerifierPlonk deployed to: 0xeb9967292F2ff692F467764f74877F8459bA0E24
FflonkVerifierPlonk deployed to: 0xC3b1Be597309D6ec88E75874c3Bd7Bc4ea6e38fA
**** Adding verifiers to the verifier contract *****
Please use the calldata below (or call the command) with 0x5555555590930f501c88B73Ea43B3EEb5A71643c private key
CALLDATA:
0x80c6c9670000000000000000000000000000000000000000000000000000000000000003000000000000000000000000c3b1be597309d6ec88e75874c3bd7bc4ea6e38fa000000000000000000000000eb9967292f2ff692f467764f74877f8459ba0e24
COMMAND:
cast send --rpc-url "http://localhost:8545" 0x68b5C4C7EcaC4D905911f73Db1B7c64DcFf05676 'addVerifier(uint32,address,address)' 3 0xeb9967292F2ff692F467764f74877F8459bA0E24 0xC3b1Be597309D6ec88E75874c3Bd7Bc4ea6e38fA --from 0x5555555590930f501c88B73Ea43B3EEb5A71643c
evl @ ~/code/zksync_tools/zkos/update_contract_vk ~> 3.9s 16:49:56
evl @ ~/code/zksync_tools/zkos/update_contract_vk ~> cast rpc anvil_impersonateAccount 0x5555555590930f501c88B73Ea43B3EEb5A71643c
null
evl @ ~/code/zksync_tools/zkos/update_contract_vk ~> cast send --rpc-url "http://localhost:8545" 0x68b5C4C7EcaC4D905911f73Db1B7c64DcFf05676 'addVerifier(uint32,address,address)' 3 0xeb9967292F2ff692F467764f74877F8459bA0E24 0xC3b1Be597309D6ec88E75874c3Bd7Bc4ea6e38fA --from 0x5555555590930f501c88B73Ea43B3EEb5A71643c
Error: Error accessing local wallet. Did you pass a keystore, hardware wallet, private key or mnemonic?
Run the command with --help flag for more information or use the corresponding CLI
flag to set your key via:
--keystore
--interactive
--private-key
--mnemonic-path
--aws
--gcp
--trezor
--ledger
Alternatively, when using the `cast send` or `cast mktx` commands with a local node
or RPC that has unlocked accounts, the --unlocked or --ethsign flags can be used,
respectively. The sender address can be specified by setting the `ETH_FROM` environment
variable to the desired unlocked account address, or by providing the address directly
using the --from flag.
evl @ ~/code/zksync_tools/zkos/update_contract_vk ~> 51ms 16:53:19
evl @ ~/code/zksync_tools/zkos/update_contract_vk ~> cast send --rpc-url "http://localhost:8545" 0x68b5C4C7EcaC4D905911f73Db1B7c64DcFf05676 'addVerifier(uint32,address,address)' 3 0xeb9967292F2ff692F467764f74877F8459bA0E24 0xC3b1Be597309D6ec88E75874c3Bd7Bc4ea6e38fA --from 0x5555555590930f501c88B73Ea43B3EEb5A71643c --unlocked
blockHash 0x295a712cb2d17324133e20ed90d468a1e560438ca04567fe334c68dbfcf6e232
blockNumber 9376202
contractAddress
cumulativeGasUsed 69002
effectiveGasPrice 1185033
from 0x5555555590930f501c88B73Ea43B3EEb5A71643c
gasUsed 69002
logs []
logsBloom 0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
root
status 1 (success)
transactionHash 0x19ead03cdde1647ff17e67d0538fdbe60a4c9093b5e6d75c27772d798348ee24
transactionIndex 0
type 2
blobGasPrice 16383365740161
blobGasUsed
to 0x68b5C4C7EcaC4D905911f73Db1B7c64DcFf05676
```
```
2025-10-09T11:37:22.685132Z INFO zksync_os_fri_prover: Starting proving block number 11
**** proving using GPU ****
2025-10-09T11:37:22.685705Z INFO gpu_prover::execution::prover: BATCH[0] PROVER producing memory commitments for binary with key 0
2025-10-09T11:37:22.791364Z INFO gpu_prover::execution::prover: BATCH[0] PROVER produced memory commitments for binary with key 0 in 0.106s
2025-10-09T11:37:22.791420Z INFO gpu_prover::execution::prover: BATCH[0] PROVER producing proofs for binary with key 0
2025-10-09T11:37:23.524283Z INFO gpu_prover::execution::prover: BATCH[0] PROVER produced proofs for binary with key 0 in 0.733s
2025-10-09T11:37:23.524305Z INFO gpu_prover::execution::prover: BATCH[0] PROVER committed to memory and produced proofs for binary with key 0 in 0.839s
**** proofs generated in 0.839s ****
Created 2 basic proofs, 0 reduced proofs, 0 reduced (log23) proofs and 2 delegation proofs.
*** Starting recursion level 0 ***
**** proving using GPU ****
2025-10-09T11:37:23.527185Z INFO gpu_prover::execution::prover: BATCH[0] PROVER producing memory commitments for binary with key 1
2025-10-09T11:37:23.650683Z INFO gpu_prover::execution::prover: BATCH[0] PROVER produced memory commitments for binary with key 1 in 0.123s
2025-10-09T11:37:23.650725Z INFO gpu_prover::execution::prover: BATCH[0] PROVER producing proofs for binary with key 1
2025-10-09T11:37:24.260467Z INFO gpu_prover::execution::prover: BATCH[0] PROVER produced proofs for binary with key 1 in 0.610s
2025-10-09T11:37:24.260493Z INFO gpu_prover::execution::prover: BATCH[0] PROVER committed to memory and produced proofs for binary with key 1 in 0.733s
**** proofs generated in 0.733s ****
Created 0 basic proofs, 3 reduced proofs, 0 reduced (log23) proofs and 1 delegation proofs.
*** Starting recursion level 1 ***
**** proving using GPU ****
2025-10-09T11:37:24.263819Z INFO gpu_prover::execution::prover: BATCH[0] PROVER producing memory commitments for binary with key 1
2025-10-09T11:37:24.374440Z INFO gpu_prover::execution::prover: BATCH[0] PROVER produced memory commitments for binary with key 1 in 0.111s
2025-10-09T11:37:24.374488Z INFO gpu_prover::execution::prover: BATCH[0] PROVER producing proofs for binary with key 1
2025-10-09T11:37:24.872825Z INFO gpu_prover::execution::prover: BATCH[0] PROVER produced proofs for binary with key 1 in 0.498s
2025-10-09T11:37:24.872849Z INFO gpu_prover::execution::prover: BATCH[0] PROVER committed to memory and produced proofs for binary with key 1 in 0.609s
**** proofs generated in 0.609s ****
Created 0 basic proofs, 2 reduced proofs, 0 reduced (log23) proofs and 1 delegation proofs.
Stopping 1st recursion layer.
2025-10-09T11:37:24.873404Z INFO zksync_os_fri_prover: Finished proving block number 11
```
```
https://developer.nvidia.com/cuda-12-9-0-download-archive?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=24.04&target_type=deb_network
RUST_BACKTRACE=full RUST_MIN_STACK=267108864 cargo run --release --features gpu --bin zksync_os_snark_prover -- run-prover --sequencer-url http://localhost:3124 --binary-path ./multiblock_batch.bin --trusted-setup-file crs/setup_compact.key --output-dir ./outputs
prover_api_fake_fri_provers_enabled=false prover_api_fake_snark_provers_enabled=false cargo run --release
cargo run --release -- --rpc-url 'http://127.0.0.1:3050' --rich-privkey 0x7726827caac94a7f9e1b160f7ea819f172f7b6f9d2a97f992c38edeab82d4110 --duration 240m --max-in-flight 1 --wallets 1 --dest random
```
```
```
```
cast call -r "localhost:8545" 0xeb2c4dD70290aB7f4192793e8629911c7cB37F28 "verificationKeyHash()(bytes32)"
```
```
git clone git@github.com:NVIDIA/cuda-samples.git
cd cuda-samples/Samples/0_Introduction/vectorAdd
cmake .
make
./vectorAdd
```
```
thread 'main' panicked at wrapper/src/gpu/risc_wrapper.rs:77:10:
called `Result::unwrap()` on an `Err` value: ErrorInvalidValue
stack backtrace:
0: rust_begin_unwind
1: core::panicking::panic_fmt
2: core::result::unwrap_failed
3: zkos_wrapper::gpu::risc_wrapper::get_risc_wrapper_setup
4: zkos_wrapper::prove_fri_risc_wrapper
5: zkos_wrapper::prove
6: wrapper::main
```
```
time RUST_BACKTRACE=1 RUST_MIN_STACK=267108864 cargo run --bin wrapper --release --features gpu prove-full --input wrapper/testing_data/risc_proof --trusted-setup-file ./../zksync-era/prover/keys/setup/setup_compact.key --output-dir ~/Desktop
```
`cast call 0x9a6de0f62Aa270A8bCB1e2610078650D539B1Ef9 "getTotalBatchesVerified()(uint256)" --rpc-url $SEPOLIA
---
27 | \x | | | | 2025-04-02 12:35:09.373682 | 0 | \xf688611ad4e0ef20184a89e7b593493dffcefe92071f85c1a0b94d4852c4f82f | \x941fd36f78a5ba753dbbe65b9123a43ae833405fafd03b5149b959eee766e03c
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
---
```
export PATH=/opt/homebrew/bin:$PATH
# Source manjaro customized config
source ~/.config/zsh/manjaro_zsh
. "$HOME/.cargo/env"
disable r
# Prompt
autoload -U colors && colors
export PS1="%{$fg[red]%}%n %{$fg[magenta]%}@ %{$fg[green]%}%~ %{$fg[cyan]%}% ~> "
export PS2="%{fg[white]%}% | ~> "
# Rust configs
alias ls="exa"
alias ll="exa -la"
alias grep="rg"
alias du="dust -r -d 1"
# gcloud
export PATH=$PATH:/Users/emilluta/google-cloud-sdk/bin/
# VPN setups
alias prod="warp-cli vnet ca41ee9c-2b63-45a8-b6b7-03b14f84f1d6 && gcloud container clusters get-credentials zksync-mainnet2 --region us-central1 --project zksync-mainnet2 && export NAMESPACE=mainnet2"
alias prod_use1="warp-cli vnet 944d44da-61dc-4c66-87e1-2b6a049cfe46 && gcloud container clusters get-credentials zksync-mainnet2-use1 --region us-east1 --project zksync-mainnet2-use1 && export NAMESPACE=mainnet2"
alias prod_use4="warp-cli vnet ecc7c1ad-cca4-4775-b94d-3cbc11db1a87 && gcloud container clusters get-credentials zksync-mainnet2-use4 --region us-east4 --project zksync-mainnet2-use4 && export NAMESPACE=mainnet2"
alias prod_ase1="warp-cli vnet e6e569cd-54da-4357-bcf8-6b1b48e2c0f4 && gcloud container clusters get-credentials zksync-mainnet2-ase1 --region asia-southeast1 --project zksync-mainnet2-ase1 && export NAMESPACE=mainnet2"
alias boojnet="warp-cli vnet 5413382f-c0f2-405e-84b9-674225818a47 && gcloud container clusters get-credentials zksync-boojnet-usc1 --region us-central1 --project zksync-boojnet-usc1 && export NAMESPACE=testnet2"
alias stage="warp-cli vnet 0c58738f-c76d-483f-9cee-bb6fb0d27736 && gcloud container clusters get-credentials zksync-stage --region us-central1 --project zksync-stage && export NAMESPACE=stage2"
alias era_stage_proofs="warp-cli vnet 04414de7-22e8-4cdf-8fca-a5ac30b76146 && gcloud container clusters get-credentials zksync-era-stage-proofs --region us-central1 --project zksync-era-stage-proofs && export NAMESPACE=stage2"
alias lens_stage="warp-cli vnet 539c6bc5-1ade-461c-bebc-53eb62238e84 && gcloud container clusters get-credentials raas-lens-staging --region europe-west4 --project raas-lens-staging && export NAMESPACE=lens-staging"
alias abstract_stage="warp-cli vnet 503d175e-dc76-4ccc-9542-ca811609a556 && gcloud container clusters get-credentials raas-abstract-staging --region us-central1 --project raas-abstract-staging && export NAMESPACE=stage2"
alias abstract_testnet="warp-cli vnet 4d777eb9-3662-4697-8a7a-10fee1e7ea07 && gcloud container clusters get-credentials raas-abstract-testnet --region us-central1 --project raas-abstract-testnet && export NAMESPACE=testnet2"
alias sophon_testnet="warp-cli vnet 9f9f6773-1dd3-4db0-94f1-19f30f535a27 && gcloud container clusters get-credentials raas-sophon-testnet --region us-central1 --project raas-sophon-testnet && export NAMESPACE=testnet2"
alias era_stage_validium="warp-cli vnet 6a7ee694-34a5-41ba-92fd-ecb820f787cc && gcloud container clusters get-credentials zksync-era-stage-validium --region asia-southeast1 --project zksync-era-stage-validium && export NAMESPACE=stage2"
alias treasure_testnet="warp-cli vnet 81648f76-103e-4b10-9269-ed187c1493fb && gcloud container clusters get-credentials treasure-testnet-8490e29 --region us-central1 --project raas-treasure-testnet && export NAMESPACE=testnet2"
alias sophon_mainnet="warp-cli vnet 31650e23-3990-454c-8d2b-71928d1f7571 && gcloud container clusters get-credentials raas-sophon-mainnet --region europe-west4 --project raas-sophon-mainnet && export NAMESPACE=mainnet2"
alias abstract_mainnet="warp-cli vnet 5f1f6f3b-63bd-47a0-87bf-4228a01d3976 && gcloud container clusters get-credentials raas-abstract-mainnet --region europe-west4 --project raas-abstract-mainnet && export NAMESPACE=mainnet2"
alias abstract_mainnet_ase1="warp-cli vnet 02f5ef9a-086c-4be3-9556-65642c1604d2 && gcloud container clusters get-credentials raas-abstract-mainnet-ase1 --region asia-southeast1 --project raas-abstract-mainnet-ase1 && export NAMESPACE=mainnet2"
alias abstract_mainnet_euw1="warp-cli vnet 3bf9d9f6-4b45-4b79-b931-5a22b534ddde && gcloud container clusters get-credentials raas-abstract-mainnet-euw1 --region europe-west1 --project raas-abstract-mainnet-euw1 && export NAMESPACE=mainnet2"
alias abstract_mainnet_use4="warp-cli vnet 71491eff-5b99-42c1-bac2-3669634cfee2 && gcloud container clusters get-credentials raas-abstract-mainnet-use4 --region us-east4 --project raas-abstract-mainnet-use4 && export NAMESPACE=mainnet2"
alias treasure_mainnet="warp-cli vnet 72a38cfb-c54b-481e-bbbc-f75b45147b85 && gcloud container clusters get-credentials raas-treasure-mainnet --region us-east1 --project raas-treasure-mainnet && export NAMESPACE=mainnet2"
alias treasure_mainnet_use4="warp-cli vnet f260191f-1c8d-4b48-b93e-6de024b37678 && gcloud container clusters get-credentials raas-treasure-use4-mainnet --region us-east4 --project raas-treasure-mainnet-use4 && export NAMESPACE=mainnet2"
alias wonderfi_testnet="warp-cli vnet afb9a33a-9c25-4574-a8a6-7b7120a2d246 && gcloud container clusters get-credentials raas-wonderfi-testnet --region us-central1 --project raas-wonderfi-testnet && export NAMESPACE=testnet2"
alias era_gateway_stage="warp-cli vnet 356ff4a3-2f0b-4926-a030-b108b3b7a5e8 && gcloud container clusters get-credentials zksync-era-gateway-stage --region us-central1 --project zksync-era-gateway-stage && export NAMESPACE=stage2"
alias wonderfi_mainnet="warp-cli vnet 0c944c18-441c-4760-9c21-1c60c97c771c && gcloud container clusters get-credentials raas-wonderfi-mainnet --region us-central1 --project raas-wonderfi-mainnet && export NAMESPACE=mainnet2"
alias lens_mainnet="warp-cli vnet 44021f03-71c3-427a-84d1-86fd1dda91e7 && gcloud container clusters get-credentials raas-lens-mainnet --region europe-west1 --project raas-lens-mainnet && export NAMESPACE=mainnet2"
alias lens_mainnet_use4="warp-cli vnet a6e4db3d-cd9d-4bde-8cd9-695b087db354 && gcloud container clusters get-credentials raas-lens-mainnet-use4 --region us-east4 --project raas-lens-mainnet-use4 && export NAMESPACE=mainnet2"
alias era_gateway_testnet="warp-cli vnet b465f1f6-3cb9-4791-bf62-c34fb91442c6 && gcloud container clusters get-credentials zksync-era-gateway-testnet --region us-central1 --project zksync-era-gateway-testnet && export NAMESPACE=testnet2"
# OLD VPN SETUPS
# alias prod="warp-cli vnet ca41ee9c-2b63-45a8-b6b7-03b14f84f1d6 && gcloud container clusters get-credentials zksync-mainnet2 --region us-central1 --project zksync-mainnet2 && export NAMESPACE=mainnet2"
# alias prod_use1="warp-cli vnet 944d44da-61dc-4c66-87e1-2b6a049cfe46 && gcloud container clusters get-credentials zksync-mainnet2-use1 --region us-east1 --project zksync-mainnet2-use1 && export NAMESPACE=mainnet2"
# alias prod_use4="warp-cli vnet ecc7c1ad-cca4-4775-b94d-3cbc11db1a87 && gcloud container clusters get-credentials zksync-mainnet2-use4 --region us-east4 --project zksync-mainnet2-use4 && export NAMESPACE=mainnet2"
# alias prod_ase1="warp-cli vnet e6e569cd-54da-4357-bcf8-6b1b48e2c0f4 && gcloud container clusters get-credentials zksync-mainnet2-ase1 --region asia-southeast1 --project zksync-mainnet2-ase1 && export NAMESPACE=mainnet2"
# alias prod_sophon="warp-cli vnet 31650e23-3990-454c-8d2b-71928d1f7571 && gcloud container clusters get-credentials raas-sophon-mainnet --region europe-west4 --project raas-sophon-mainnet && export NAMESAPCE=mainnet2"
# alias prod_abstract="warp-cli vnet 5f1f6f3b-63bd-47a0-87bf-4228a01d3976 && gcloud container clusters get-credentials raas-abstract-mainnet --region europe-west4 --project raas-abstract-mainnet && export NAMESPACE=mainnet2"
# alias boojnet="warp-cli vnet 5413382f-c0f2-405e-84b9-674225818a47 && gcloud container clusters get-credentials zksync-boojnet-usc1 --region us-central1 --project zksync-boojnet-usc1 && export NAMESPACE=testnet2"
# alias stage="warp-cli vnet 0c58738f-c76d-483f-9cee-bb6fb0d27736 && gcloud container clusters get-credentials zksync-stage --region us-central1 --project zksync-stage && export NAMESPACE=stage2"
# alias era_stage_proofs="warp-cli vnet 04414de7-22e8-4cdf-8fca-a5ac30b76146 && gcloud container clusters get-credentials zksync-era-stage-proofs --region us-central1 --project zksync-era-stage-proofs && export NAMESPACE=stage2"
# alias lens_stage="warp-cli vnet 539c6bc5-1ade-461c-bebc-53eb62238e84 && gcloud container clusters get-credentials raas-lens-staging --region europe-west4 --project raas-lens-staging && export NAMESPACE=lens-staging"
# alias abstract_stage="warp-cli vnet 503d175e-dc76-4ccc-9542-ca811609a556 && gcloud container clusters get-credentials raas-abstract-staging --region us-central1 --project raas-abstract-staging && export NAMESPACE=stage2"
# alias abstract_testnet="warp-cli vnet 4d777eb9-3662-4697-8a7a-10fee1e7ea07 && gcloud container clusters get-credentials raas-abstract-testnet --region us-central1 --project raas-abstract-testnet && export NAMESPACE=testnet"
# alias sophon_testnet="warp-cli vnet 9f9f6773-1dd3-4db0-94f1-19f30f535a27 && gcloud container clusters get-credentials raas-sophon-testnet --region us-central1 --project raas-sophon-testnet && export NAMESPACE=testnet"
# alias era_stage_validium="warp-cli vnet 6a7ee694-34a5-41ba-92fd-ecb820f787cc && gcloud container clusters get-credentials zksync-era-stage-validium --region asia-southeast1 --project zksync-era-stage-validium && export NAMESPACE=stage2"
# Useful aliases
alias kgp="kubectl get pods"
alias kdp="kubectl describe pod"
alias kl="kubectl logs -f"
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
export LANG="en_US.UTF-8"
# Disable GPU provers
export ZKSYNC_USE_CUDA_STUBS=true
# zkstack completion
source "/Users/emilluta/.zsh/completion/_zkstack.zsh"
```
---
```
## Options section
setopt correct # Auto correct mistakes
setopt extendedglob # Extended globbing. Allows using regular expressions with *
setopt nocaseglob # Case insensitive globbing
setopt rcexpandparam # Array expension with parameters
setopt nocheckjobs # Don't warn about running processes when exiting
setopt numericglobsort # Sort filenames numerically when it makes sense
setopt nobeep # No beep
setopt appendhistory # Immediately append history instead of overwriting
setopt histignorealldups # If a new command is a duplicate, remove the older one
setopt autocd # if only directory path is entered, cd there.
setopt inc_append_history # save commands are added to the history immediately, otherwise only when shell exits.
zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' # Case insensitive tab completion
zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}" # Colored completion (different colors for dirs/files/etc)
zstyle ':completion:*' rehash true # automatically find new executables in path
# Speed up completions
zstyle ':completion:*' accept-exact '*(N)'
zstyle ':completion:*' use-cache on
zstyle ':completion:*' cache-path ~/.zsh/cache
HISTFILE=~/.zhistory
HISTSIZE=10000
SAVEHIST=10000
export EDITOR=nvim
#export VISUAL=nvim
WORDCHARS=${WORDCHARS//\/[&.;]} # Don't consider certain characters part of the word
## Keybindings section
bindkey -e
bindkey '^[[7~' beginning-of-line # Home key
bindkey '^[[H' beginning-of-line # Home key
if [[ "${terminfo[khome]}" != "" ]]; then
bindkey "${terminfo[khome]}" beginning-of-line # [Home] - Go to beginning of line
fi
bindkey '^[[8~' end-of-line # End key
bindkey '^[[F' end-of-line # End key
if [[ "${terminfo[kend]}" != "" ]]; then
bindkey "${terminfo[kend]}" end-of-line # [End] - Go to end of line
fi
bindkey '^[[2~' overwrite-mode # Insert key
bindkey '^[[3~' delete-char # Delete key
bindkey '^[[C' forward-char # Right key
bindkey '^[[D' backward-char # Left key
bindkey '^[[5~' history-beginning-search-backward # Page up key
bindkey '^[[6~' history-beginning-search-forward # Page down key
# Navigate words with ctrl+arrow keys
bindkey '^[Oc' forward-word #
bindkey '^[Od' backward-word #
bindkey '^[[1;5D' backward-word #
bindkey '^[[1;5C' forward-word #
bindkey '^H' backward-kill-word # delete previous word with ctrl+backspace
bindkey '^[[Z' undo # Shift+tab undo last action
## Alias section
alias cp="cp -i" # Confirm before overwriting something
alias df='df -h' # Human-readable sizes
alias free='free -m' # Show sizes in MB
alias gitu='git add . && git commit && git push'
# Theming section
autoload -U compinit colors zcalc
compinit -d
colors
# Color man pages
export LESS_TERMCAP_mb=$'\E[01;32m'
export LESS_TERMCAP_md=$'\E[01;32m'
export LESS_TERMCAP_me=$'\E[0m'
export LESS_TERMCAP_se=$'\E[0m'
export LESS_TERMCAP_so=$'\E[01;47;34m'
export LESS_TERMCAP_ue=$'\E[0m'
export LESS_TERMCAP_us=$'\E[01;36m'
export LESS=-R
## Plugins section: Enable fish style features
# Use syntax highlighting
source /Users/emilluta/.config/zsh/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
# Use history substring search
source /Users/emilluta/.config/zsh/zsh-history-substring-search/zsh-history-substring-search.zsh
# bind UP and DOWN arrow keys to history substring search
zmodload zsh/terminfo
bindkey "$terminfo[kcuu1]" history-substring-search-up
bindkey "$terminfo[kcud1]" history-substring-search-down
bindkey '^[[A' history-substring-search-up
bindkey '^[[B' history-substring-search-down
# Offer to install missing package if command is not found
# if [[ -r /usr/share/zsh/functions/command-not-found.zsh ]]; then
# source /usr/share/zsh/functions/command-not-found.zsh
# export PKGFILE_PROMPT_INSTALL_MISSING=1
# fi
# Set terminal window and tab/icon title
#
# usage: title short_tab_title [long_window_title]
#
# See: http://www.faqs.org/docs/Linux-mini/Xterm-Title.html#ss3.1
# Fully supports screen and probably most modern xterm and rxvt
# (In screen, only short_tab_title is used)
function title {
emulate -L zsh
setopt prompt_subst
[[ "$EMACS" == *term* ]] && return
# if $2 is unset use $1 as default
# if it is set and empty, leave it as is
: ${2=$1}
case "$TERM" in
xterm*|putty*|rxvt*|konsole*|ansi|mlterm*|alacritty|st*)
print -Pn "\e]2;${2:q}\a" # set window name
print -Pn "\e]1;${1:q}\a" # set tab name
;;
screen*|tmux*)
print -Pn "\ek${1:q}\e\\" # set screen hardstatus
;;
*)
# Try to use terminfo to set the title
# If the feature is available set title
if [[ -n "$terminfo[fsl]" ]] && [[ -n "$terminfo[tsl]" ]]; then
echoti tsl
print -Pn "$1"
echoti fsl
fi
;;
esac
}
ZSH_THEME_TERM_TAB_TITLE_IDLE="%15<..<%~%<<" #15 char left truncated PWD
ZSH_THEME_TERM_TITLE_IDLE="%n@%m:%~"
# Runs before showing the prompt
function mzc_termsupport_precmd {
[[ "${DISABLE_AUTO_TITLE:-}" == true ]] && return
title $ZSH_THEME_TERM_TAB_TITLE_IDLE $ZSH_THEME_TERM_TITLE_IDLE
}
# Runs before executing the command
function mzc_termsupport_preexec {
[[ "${DISABLE_AUTO_TITLE:-}" == true ]] && return
emulate -L zsh
# split command into array of arguments
local -a cmdargs
cmdargs=("${(z)2}")
# if running fg, extract the command from the job description
if [[ "${cmdargs[1]}" = fg ]]; then
# get the job id from the first argument passed to the fg command
local job_id jobspec="${cmdargs[2]#%}"
# logic based on jobs arguments:
# http://zsh.sourceforge.net/Doc/Release/Jobs-_0026-Signals.html#Jobs
# https://www.zsh.org/mla/users/2007/msg00704.html
case "$jobspec" in
<->) # %number argument:
# use the same <number> passed as an argument
job_id=${jobspec} ;;
""|%|+) # empty, %% or %+ argument:
# use the current job, which appears with a + in $jobstates:
# suspended:+:5071=suspended (tty output)
job_id=${(k)jobstates[(r)*:+:*]} ;;
-) # %- argument:
# use the previous job, which appears with a - in $jobstates:
# suspended:-:6493=suspended (signal)
job_id=${(k)jobstates[(r)*:-:*]} ;;
[?]*) # %?string argument:
# use $jobtexts to match for a job whose command *contains* <string>
job_id=${(k)jobtexts[(r)*${(Q)jobspec}*]} ;;
*) # %string argument:
# use $jobtexts to match for a job whose command *starts with* <string>
job_id=${(k)jobtexts[(r)${(Q)jobspec}*]} ;;
esac
# override preexec function arguments with job command
if [[ -n "${jobtexts[$job_id]}" ]]; then
1="${jobtexts[$job_id]}"
2="${jobtexts[$job_id]}"
fi
fi
# cmd name only, or if this is sudo or ssh, the next cmd
local CMD=${1[(wr)^(*=*|sudo|ssh|mosh|rake|-*)]:gs/%/%%}
local LINE="${2:gs/%/%%}"
title '$CMD' '%100>...>$LINE%<<'
}
autoload -U add-zsh-hook
add-zsh-hook precmd mzc_termsupport_precmd
add-zsh-hook preexec mzc_termsupport_preexec
```
---
struct ProofRequest {
string proofInputsUrl;
uint32 protocolMajor;
uint32 protocolMinor;
uint32 protocolPatch;
uint256 submittedAt;
uint256 deadline;
uint256 maxReward;
ProofRequestStatus status;
ProvingNetwork assignedTo;
uint256 provingNetworkPrice;
}
```
[[package]]
name = "circuit_definitions"
version = "0.152.3"
source = "git+https://github.com/matter-labs/zksync-protocol.git?rev=30c185fe4ab7a0e33c5a70d49a6bbde66b5862d1#30c185fe4ab7a0e33c5a70d49a6bbde66b5862d1"
...
[[package]]
name = "circuit_definitions"
version = "0.152.3"
source = "git+https://github.com/matter-labs/zksync-protocol#30c185fe4ab7a0e33c5a70d49a6bbde66b5862d1"
```
```
evl @ ~/code/air_compiler/tools/zksmith ~> cargo run -- --anvil-url http://localhost:8011 --zkos-bin-path ../../examples/zkos/app.binca
...
Initializing prover...
Creating setup took 77.354032647s
Connecting to Anvil at http://localhost:8011
Server running at http://127.0.0.1:3030
thread 'tokio-runtime-worker' panicked at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/blocking/shutdown.rs:51:21:
Cannot drop a runtime in a context where blocking is not allowed. This happens when a runtime is dropped from within an asynchronous context.
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
```
```
evl @ ~ ~> cast --version 45ms 10:34:07
cast Version: 1.0.0-foundry-zksync-v0.0.14
Commit SHA: b9dc729dda17ff081509b7c13b388b9111a68336
Build Timestamp: 2025-04-28T17:35:04.661289788Z (1745861704)
Build Profile: release
```
```
cast send -r http://localhost:8011 0x15d34AAf54267DB7D7c367839AAf71A00a2C6A65 --value 100ether --private-key 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80 --gas-limit 10000000
```
```
==== Batch 1 took 7.168540029s ====
Proof created for block ID 1: 1 basic proofs in 7168
Block 1 - total: 7168ms (basic: 4482ms) proofs: basic: 1 (delegation: 1,1) Download
```
```
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.13;
contract Counter {
uint256 public number;
mapping(uint256 => uint256) public entries;
function setNumber(uint256 newNumber) public {
number = newNumber;
}
function increment() public {
number++;
}
function heavyOperation(uint256 iterations) public {
for (uint256 i = 0; i < iterations; i++) {
// Perform a keccak256 hash operation
bytes32 hash = keccak256(abi.encodePacked(number, i));
// Write the hash to storage (this is just an example, avoid excessive storage writes in production)
entries[i] = uint256(hash);
}
}
function computeOperation(uint256 iterations) public {
bytes32 result = keccak256(abi.encodePacked(number));
for (uint256 i = 0; i < iterations; i++) {
// Perform a keccak256 hash operation
result = keccak256(abi.encodePacked(number, result));
}
entries[iterations] = uint256(result);
}
}
```
```
forge create src/Counter.sol:Counter --private-key 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80 --rpc-url http://localhost:8011 --legacy --gas-limit 1000000
```
```
cast send -r http://localhost:8011 0x5fbdb2315678afecb367f032d93f642f64180aa3 'heavyOperation(uint256)' 4000 --private-key 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80 --gas-limit 10000000
```
```
Warning: Dry run enabled, not broadcasting transaction
...
Warning: To broadcast this transaction, add --broadcast to the previous command. See forge create --help for more.
evl @ ~/code/test_for_airbender ~> forge create src/Counter.sol:Counter --private-key 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80 --rpc-url http://localhost:8011 --legacy --gas-limit 1000000 --broadcast
[⠊] Compiling...
No files changed, compilation skipped
Deployer: 0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266
Deployed to: 0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266
Transaction hash: 0xfdf6560e7f931bbb596e35d15ccfde440c7a92de8c9a33c59942e4b553c75021
2025-05-22T08:48:24.846193Z ERROR alloy_provider::blocks: failed to fetch block number=4 err=error sending request for url (http://localhost:8011/)
```
```
cast code --r http://localhost:8011 0x5fbdb2315678afecb367f032d93f642f64180aa3
```
```
evl @ ~/code/test_for_airbender ~> cast code -r http://localhost:8011 0x5fbdb2315678afecb367f032d93f642f64180aa3 14ms 10:51:36
0x
evl @ ~/code/test_for_airbender ~> cast code -r http://localhost:8011 0xe7f1725e7734ce288f8367e1bb143e90bb3f0512 42ms 10:52:02
0x608060405234801561000f575f5ffd5b5060043610610060575f3560e01c80633fb5c1cb146100645780638381f58a146100805780638a74eaa81461009e578063b30906d4146100ba578063d09de08a146100ea578063d89f0ef3146100f4575b5f5ffd5b61007e60048036038101906100799190610274565b610110565b005b610088610119565b60405161009591906102ae565b60405180910390f35b6100b860048036038101906100b39190610274565b61011e565b005b6100d460048036038101906100cf9190610274565b6101ac565b6040516100e191906102ae565b60405180910390f35b6100f26101c1565b005b61010e60048036038101906101099190610274565b6101d9565b005b805f8190555050565b5f5481565b5f5f5460405160200161013191906102e7565b6040516020818303038152906040528051906020012090505f5f90505b8281101561018f575f548260405160200161016a92919061032a565b604051602081830303815290604052805190602001209150808060010191505061014e565b50805f1c60015f8481526020019081526020015f20819055505050565b6001602052805f5260405f205f915090505481565b5f5f8154809291906101d290610382565b9190505550565b5f5f90505b81811015610239575f5f54826040516020016101fb9291906103c9565b604051602081830303815290604052805190602001209050805f1c60015f8481526020019081526020015f20819055505080806001019150506101de565b5050565b5f5ffd5b5f819050919050565b61025381610241565b811461025d575f5ffd5b50565b5f8135905061026e8161024a565b92915050565b5f602082840312156102895761028861023d565b5b5f61029684828501610260565b91505092915050565b6102a881610241565b82525050565b5f6020820190506102c15f83018461029f565b92915050565b5f819050919050565b6102e16102dc82610241565b6102c7565b82525050565b5f6102f282846102d0565b60208201915081905092915050565b5f819050919050565b5f819050919050565b61032461031f82610301565b61030a565b82525050565b5f61033582856102d0565b6020820191506103458284610313565b6020820191508190509392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61038c82610241565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036103be576103bd610355565b5b600182019050919050565b5f6103d482856102d0565b6020820191506103e482846102d0565b602082019150819050939250505056fea2646970667358221220b3ac923c6fcdd52da1cb50e911f4395856d926f82e437a9f65aa05c78a2cacd064736f6c634300081d0033
evl @ ~/code/test_for_airbender ~> cast code -r http://localhost:8011 0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266 58ms 10:52:15
0x
```
```
cast send -r http://localhost:8011 0xe7f1725e7734ce288f8367e1bb143e90bb3f0512 'computeOperation(uint256)' 100 --private-key 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80 --gas-limit 100000000
```
```
Block 2 - total: 8097ms (basic: 3074ms) proofs: basic: 8 (delegation: 1,1) Download
```
```
source: JoinError::Panic(Id(102), "program failed to each the end of execution over 33554432 cycles", ...),
```
```
forge create src/Counter.sol:Counter --private-key 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80 --rpc-url http://localhost:8011 --legacy --gas-limit 1000000 --broadcast
cast code -r http://localhost:8011 0x5fbdb2315678afecb367f032d93f642f64180aa3
cast send -r http://localhost:8011 0x5fbdb2315678afecb367f032d93f642f64180aa3 'computeOperation(uint256)' 100 --private-key 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80 --gas-limit 100000000
cast send -r http://localhost:8011 0x5fbdb2315678afecb367f032d93f642f64180aa3 'heavyOperation(uint256)' 50 --private-key 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80 --gas-limit 100000000
```
```
evl @ ~/code/air_compiler/tools/zksmith ~> nvcc --version 34ms 11:10:55
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2024 NVIDIA Corporation
Built on Thu_Jun__6_02:18:23_PDT_2024
Cuda compilation tools, release 12.5, V12.5.82
Build cuda_12.5.r12.5/compiler.34385749_0
```
```
==== Batch 1 took 4.718275039s ====
==== Batch 2 took 4.418991937s ====
==== Batch 3 took 4.392984261s ====
```
```
failed to allocate 6056574976 bytes, currently allocated 15049162752 bytes
thread 'tokio-runtime-worker' panicked at tools/cli/src/prover_utils.rs:462:22:
called `Result::unwrap()` on an `Err` value: ErrorMemoryAllocation
stack backtrace:
0: __rustc::rust_begin_unwind
at /rustc/414482f6a0d4e7290f614300581a0b55442552a3/library/std/src/panicking.rs:697:5
1: core::panicking::panic_fmt
at /rustc/414482f6a0d4e7290f614300581a0b55442552a3/library/core/src/panicking.rs:75:14
2: core::result::unwrap_failed
at /rustc/414482f6a0d4e7290f614300581a0b55442552a3/library/core/src/result.rs:1732:5
3: core::result::Result<T,E>::unwrap
at /home/evl/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/result.rs:1137:23
4: cli_lib::prover_utils::create_proofs_internal
at /home/evl/code/air_compiler/tools/cli/src/prover_utils.rs:453:21
5: cli_lib::prover_utils::create_recursion_proofs
at /home/evl/code/air_compiler/tools/cli/src/prover_utils.rs:587:56
6: zksmith::LocalProver::create_proof_for_data
at ./src/main.rs:102:67
7: zksmith::main::{{closure}}::{{closure}}
at ./src/main.rs:332:21
8: tokio::runtime::task::core::Core<T,S>::poll::{{closure}}
at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/task/core.rs:331:17
9: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut
at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/loom/std/unsafe_cell.rs:16:9
10: tokio::runtime::task::core::Core<T,S>::poll
at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/task/core.rs:320:30
11: tokio::runtime::task::harness::poll_future::{{closure}}
at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/task/harness.rs:532:19
12: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
at /home/evl/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/panic/unwind_safe.rs:272:9
13: std::panicking::try::do_call
at /home/evl/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:589:40
14: std::panicking::try
at /home/evl/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:552:19
15: std::panic::catch_unwind
at /home/evl/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:359:14
16: tokio::runtime::task::harness::poll_future
at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/task/harness.rs:520:18
17: tokio::runtime::task::harness::Harness<T,S>::poll_inner
at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/task/harness.rs:209:27
18: tokio::runtime::task::harness::Harness<T,S>::poll
at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/task/harness.rs:154:15
19: tokio::runtime::task::raw::poll
at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/task/raw.rs:271:5
20: tokio::runtime::task::raw::RawTask::poll
at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/task/raw.rs:201:18
21: tokio::runtime::task::LocalNotified<S>::run
at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/task/mod.rs:449:9
22: tokio::runtime::scheduler::multi_thread::worker::Context::run_task::{{closure}}
at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/scheduler/multi_thread/worker.rs:596:18
23: tokio::runtime::coop::with_budget
at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/coop.rs:107:5
24: tokio::runtime::coop::budget
at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/coop.rs:73:5
25: tokio::runtime::scheduler::multi_thread::worker::Context::run_task
at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/scheduler/multi_thread/worker.rs:595:9
26: tokio::runtime::scheduler::multi_thread::worker::Context::run
at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/scheduler/multi_thread/worker.rs:546:24
27: tokio::runtime::scheduler::multi_thread::worker::run::{{closure}}::{{closure}}
at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/scheduler/multi_thread/worker.rs:511:21
28: tokio::runtime::context::scoped::Scoped<T>::set
at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/context/scoped.rs:40:9
29: tokio::runtime::context::set_scheduler::{{closure}}
at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/context.rs:180:26
30: std::thread::local::LocalKey<T>::try_with
at /home/evl/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/local.rs:315:12
31: std::thread::local::LocalKey<T>::with
at /home/evl/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/local.rs:279:15
32: tokio::runtime::context::set_scheduler
at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/context.rs:180:9
33: tokio::runtime::scheduler::multi_thread::worker::run::{{closure}}
at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/scheduler/multi_thread/worker.rs:506:9
34: tokio::runtime::context::runtime::enter_runtime
at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/context/runtime.rs:65:16
35: tokio::runtime::scheduler::multi_thread::worker::run
at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/scheduler/multi_thread/worker.rs:498:5
36: tokio::runtime::scheduler::multi_thread::worker::Launch::launch::{{closure}}
at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/scheduler/multi_thread/worker.rs:464:45
37: <tokio::runtime::blocking::task::BlockingTask<T> as core::future::future::Future>::poll
at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/blocking/task.rs:42:21
38: tokio::runtime::task::core::Core<T,S>::poll::{{closure}}
at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/task/core.rs:331:17
39: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut
at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/loom/std/unsafe_cell.rs:16:9
40: tokio::runtime::task::core::Core<T,S>::poll
at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/task/core.rs:320:30
41: tokio::runtime::task::harness::poll_future::{{closure}}
at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/task/harness.rs:532:19
42: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
at /home/evl/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/panic/unwind_safe.rs:272:9
43: std::panicking::try::do_call
at /home/evl/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:589:40
44: std::panicking::try
at /home/evl/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:552:19
45: std::panic::catch_unwind
at /home/evl/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:359:14
46: tokio::runtime::task::harness::poll_future
at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/task/harness.rs:520:18
47: tokio::runtime::task::harness::Harness<T,S>::poll_inner
at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/task/harness.rs:209:27
48: tokio::runtime::task::harness::Harness<T,S>::poll
at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/task/harness.rs:154:15
49: tokio::runtime::task::raw::poll
at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/task/raw.rs:271:5
50: tokio::runtime::task::raw::RawTask::poll
at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/task/raw.rs:201:18
51: tokio::runtime::task::UnownedTask<S>::run
at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/task/mod.rs:486:9
52: tokio::runtime::blocking::pool::Task::run
at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/blocking/pool.rs:161:9
53: tokio::runtime::blocking::pool::Inner::run
at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/blocking/pool.rs:511:17
54: tokio::runtime::blocking::pool::Spawner::spawn_thread::{{closure}}
at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/blocking/pool.rs:469:13
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
```
```
thread 'main' panicked at /home/evl/.cargo/git/checkouts/zksync-airbender-8ab8222a00c65218/4093b25/risc_v_simulator/src/cycle/utils.rs:126:17:
Unaligned access for 4 bytes at address 0xfff67a64
```
```
forge create src/Counter.sol:Counter --private-key 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80 --rpc-url http://localhost:8011 --legacy --gas-limit 1000000 --broadcast
cast code -r http://localhost:8011 0x5fbdb2315678afecb367f032d93f642f64180aa3
cast send -r http://localhost:8011 0x5fbdb2315678afecb367f032d93f642f64180aa3 'computeOperation(uint256)' 100 --private-key 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80 --gas-limit 100000000
cast send -r http://localhost:8011 0x5fbdb2315678afecb367f032d93f642f64180aa3 'heavyOperation(uint256)' 50 --private-key 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80 --gas-limit 100000000
```
```
Error: One or more tasks failed: ["Task oneshot_runner failed: Oneshot task node_storage_initializer failed: Base system contracts mismatched: From Config BaseSystemContractsHashes { bootloader: 0x0100085f9382a7928dd83bfc529121827b5f29f18b9aa10d18aa68e1be7ddc35, default_aa: 0x010005f72e443c94460f4583fb38ef5d0c5cd9897021c41df840f91465c0392e, evm_emulator: Some(0x01000d83e0329d9144ad041430fafcbc2b388e5434db8cb8a96e80157738a1da) }, Calculated : BaseSystemContractsHashes { bootloader: 0x0100085f01f27b69bda4b0a20b9d7f8716aef1e865964d3c5309638c30cce3db, default_aa: 0x010005f72e443c94460f4583fb38ef5d0c5cd9897021c41df840f91465c0392e, evm_emulator: Some(0x01000d83e0329d9144ad041430fafcbc2b388e5434db8cb8a96e80157738a1da) }"]
```
```
2025-06-12T15:59:16.620195Z INFO zksync_zkos_prover_input_generator::zkos_proof_data_server: Picked FRI block to prove: 1
2025-06-12T15:59:17.998439Z INFO zksync_zkos_prover_input_generator::zkos_proof_data_server: Received FRI proof for block 1
```
```
[GPU 0] Initializing GPU context...
SystemTime { tv_sec: 1750869344, tv_nsec: 541337779 } starting proving block number 1
**** proving using GPU ****
initialized GPU memory pool for device ID 0 with 23.09375 GB of usable memory
[GPU 0] GPU context ready.
memory allocation of 234881024 bytes failed
```
```
evl @ ~/code/zksync-era/zksync_os_prover ~> time cargo build --release --features gpu 89ms 20:22:16
...
cargo build --release --features gpu 742.17s user 38.39s system 866% cpu 1:30.11 total
evl @ ~/code/zksync-era/zksync_os_prover ~> 1m30s 20:23:51
commit 698c2b106ab71069fad615984073a1032de15716 (HEAD -> zksync-os-integration-prover, origin/zksync-os-integration-prover)
Author: EmilLuta <virgil.luta@gmail.com>
Date: Fri Jun 13 18:45:31 2025 +0200
Update version of airbende for snark prover
```
```
Warning
EraVM does not use bytecode for contract deployment. Instead, it refers to contracts using their bytecode hashes.
In order to deploy a contract, please use the `new` operator in Solidity instead of raw 'create'/'create2' in assembly.
In Solidity v0.6 and older, it can be a false-positive warning if there is 'create(' or 'create2(' in comments within assembly.
Learn more about CREATE/CREATE2 EraVM limitations at https://docs.zksync.io/zksync-protocol/differences/evm-instructions#create-create2
You may disable this warning with:
1. `suppressedWarnings = ["assemblycreate"]` in standard JSON.
2. `--suppress-warnings assemblycreate` in the CLI.
|> contracts/dev-contracts/SingletonFactory.sol:22:30
22 | createdContract := create2(0, add(_initCode, 0x20), mload(_initCode), _salt)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Warning
ZKsync Era comes with native account abstraction support, and therefore the initiator of a
transaction might be different from the contract calling your code. It is highly recommended NOT
to rely on tx.origin, but use msg.sender instead.
Learn more about Account Abstraction at https://docs.zksync.io/build/developer-reference/account-abstraction/
You may disable this warning with:
a. `suppressedWarnings = ["txorigin"]` in standard JSON.
b. `--suppress-warnings txorigin` in the CLI.
|> contracts/state-transition/chain-deps/facets/Mailbox.sol:520:29
520 | if (request.sender != tx.origin) {
| ^^^^^^^^^
Warning
ZKsync Era comes with native account abstraction support, and therefore the initiator of a
transaction might be different from the contract calling your code. It is highly recommended NOT
to rely on tx.origin, but use msg.sender instead.
Learn more about Account Abstraction at https://docs.zksync.io/build/developer-reference/account-abstraction/
You may disable this warning with:
a. `suppressedWarnings = ["txorigin"]` in standard JSON.
b. `--suppress-warnings txorigin` in the CLI.
|> contracts/vendor/AddressAliasHelper.sol:56:43
56 | _recipient = _originalCaller == tx.origin
| ^^^^^^^^^
Warning
EraVM does not use bytecode for contract deployment. Instead, it refers to contracts using their bytecode hashes.
In order to deploy a contract, please use the `new` operator in Solidity instead of raw 'create'/'create2' in assembly.
In Solidity v0.6 and older, it can be a false-positive warning if there is 'create(' or 'create2(' in comments within assembly.
Learn more about CREATE/CREATE2 EraVM limitations at https://docs.zksync.io/zksync-protocol/differences/evm-instructions#create-create2
You may disable this warning with:
1. `suppressedWarnings = ["assemblycreate"]` in standard JSON.
2. `--suppress-warnings assemblycreate` in the CLI.
|> lib/openzeppelin-contracts-v4/contracts/utils/Create2.sol:35:19
35 | addr := create2(amount, add(bytecode, 0x20), mload(bytecode), salt)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Error
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
--> contracts/state-transition/chain-deps/facets/Admin.sol:AdminFacet
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
│
■ Command failed to run
│
■ Status:
│ exit status: 1
│ Stdout:
│
│
│ Stderr:
│
│
■ Command failed to run: yarn build:foundry
│
│
▲ 0: Command failed to run: yarn build:foundry
│
└ Failed to run command
```
```
zkstack ecosystem init --deploy-paymaster --deploy-erc20 \
--deploy-ecosystem --l1-rpc-url=http://localhost:8545 \
--server-db-url=postgres://postgres:notsecurepassword@localhost:5432 \
--server-db-name=zksync_server_localhost_era \
--ignore-prerequisites --verbose \
--observability=false
```
```
Unsupported access for 2 bytes at address 0x041fdc04
```
```
ACCOUNT="0x36615Cf349d7F6344891B1e7CA7C72883F5dc049"
PRIVATE_KEY="0x7726827caac94a7f9e1b160f7ea819f172f7b6f9d2a97f992c38edeab82d4110"
```
```
evl @ ~/code/era-boojum-validator-cli ~> cargo run -- verify-snark-boojum-os ~/Desktop/snark_11_20.json ~/Desktop/snark_vk.json
warning: unused import: `Bn256`
--> src/boojum_os.rs:8:84
|
8 | use circuit_definitions::snark_wrapper::franklin_crypto::bellman::pairing::bn256::{Bn256, Fr};
| ^^^^^
|
= note: `#[warn(unused_imports)]` on by default
warning: `era-boojum-validator-cli` (bin "era-boojum-validator-cli") generated 1 warning (run `cargo fix --bin "era-boojum-validator-cli"` to apply 1 suggestion)
Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.13s
Running `target/debug/era-boojum-validator-cli verify-snark-boojum-os /home/evl/Desktop/snark_11_20.json /home/evl/Desktop/snark_vk.json`
Verifying SNARK wrapped FRI proof.
=== Aux inputs:
L1 msg linear hash: 0x0000000000000000000000000000000000000000000000000000000000000000
Rollup state diff for compression: 0x0000000000000000000000000000000000000000000000000000000000000000
Bootloader heap initial content: 0x0000000000000000000000000000000000000000000000000000000000000000
Events queue state: 0x0000000000000000000000000000000000000000000000000000000000000000
=== Loading verification key.
=== Verification Key Hash Check:
Verification Key Hash from L1: 0x0000000000000000000000000000000000000000000000000000000000000000
Computed Verification Key Hash: 0x5295a9eef2e9e708cb9d1e840ecd25ca93b6f1a9c83ba44f1cfbec90db7dddbc
Supplied vk hash is None, skipping check...
Verifying the proof
Proof is VALID
Public input is: Fr(0x00000000ac99e2d79fc4c803234cf0eab4b846f863bab50214f20278361d6047)
Registers from public input: [3617572040, 3098319330, 1290857140, 34865955, 4167285429, 492848966, 4060248118]
```
```
evl @ ~/code/era-boojum-validator-cli ~> cargo run -- verify-snark-boojum-os ~/Desktop/snark_1_10.json ~/Desktop/snark_vk.json
warning: unused import: `Bn256`
--> src/boojum_os.rs:8:84
|
8 | use circuit_definitions::snark_wrapper::franklin_crypto::bellman::pairing::bn256::{Bn256, Fr};
| ^^^^^
|
= note: `#[warn(unused_imports)]` on by default
warning: `era-boojum-validator-cli` (bin "era-boojum-validator-cli") generated 1 warning (run `cargo fix --bin "era-boojum-validator-cli"` to apply 1 suggestion)
Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.13s
Running `target/debug/era-boojum-validator-cli verify-snark-boojum-os /home/evl/Desktop/snark_1_10.json /home/evl/Desktop/snark_vk.json`
Verifying SNARK wrapped FRI proof.
=== Aux inputs:
L1 msg linear hash: 0x0000000000000000000000000000000000000000000000000000000000000000
Rollup state diff for compression: 0x0000000000000000000000000000000000000000000000000000000000000000
Bootloader heap initial content: 0x0000000000000000000000000000000000000000000000000000000000000000
Events queue state: 0x0000000000000000000000000000000000000000000000000000000000000000
=== Loading verification key.
=== Verification Key Hash Check:
Verification Key Hash from L1: 0x0000000000000000000000000000000000000000000000000000000000000000
Computed Verification Key Hash: 0x5295a9eef2e9e708cb9d1e840ecd25ca93b6f1a9c83ba44f1cfbec90db7dddbc
Supplied vk hash is None, skipping check...
Verifying the proof
Proof is VALID
Public input is: Fr(0x00000000ac99e2d79fc4c803234cf0eab4b846f863bab50214f20278361d6047)
Registers from public input: [3617572040, 3098319330, 1290857140, 34865955, 4167285429, 492848966, 4060248118]
```
```
.route("/prover-jobs/SNARK/pick", post(pick_snark_job))
.route("/prover-jobs/SNARK/submit", post(submit_snark_proof))
```
```
#[derive(Debug, Serialize, Deserialize)]
struct NextSnarkProverJobPayload {
block_number_from: u64,
block_number_to: u64,
fri_proofs: Vec<String>, // base64‑encoded FRI proofs
}
#[derive(Debug, Serialize, Deserialize)]
struct SnarkProofPayload {
block_number_from: u64,
block_number_to: u64,
proof: String,
}
```
```
cargo run --release -- --rpc-url 'http://127.0.0.1:3050' --rich-privkey 0x7726827caac94a7f9e1b160f7ea819f172f7b6f9d2a97f992c38edeab82d4110 --duration 240m --max-in-flight 1 --wallets 1 --dest random
```
```
Error: One or more tasks failed: ["Task oneshot_runner failed: Oneshot task node_storage_initializer failed: Verification key hash mismatch: 0xd90459c5b727b9ceeb2b6192d2953dbf05970edf090333b3ad3bcac1a1442b78 on contract, 0x6f36a08c517b060fa97308cdb3e23b04842ff839d451a753ec8fae1a5408304a in config"]
```
```
449ad57d361da3e5206ed3f91dc70736586dbb9b
```
```
COMPACT_CRS_FILE=./keys/setup/setup_compact.key cargo run --features gpu --release --bin key_generator -- generate-compressor-data
```
```
prover_api_fake_provers_enabled=false,prover_api_component_enabled=true cargo run --release
```
```
GH_TOKEN: ${{ secrets.ZKSYNC_ADMIN_BOT_ORG_REPO_WRITE }}
ci_run git config --global --add url."https://${{ secrets.GH_TOKEN }}:x-oauth-basic@github.com/".insteadOf ssh://git@github.com/
```