zksync-era
zksync-era copied to clipboard
fix: zk init
What ❔
Current zk init has multiple issues
- it tries to run the server genesis setup before l1 contracts are deployed which result the following error
Error: Failed to save SetChainId upgrade transaction
Caused by:
Expected a single set_chain_id event, got these 0: []
Stack backtrace:
0: std::backtrace_rs::backtrace::libunwind::trace
at /rustc/5c6a7e71cd66705c31c9af94077901a220f0870c/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
1: std::backtrace_rs::backtrace::trace_unsynchronized
at /rustc/5c6a7e71cd66705c31c9af94077901a220f0870c/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
2: std::backtrace::Backtrace::create
at /rustc/5c6a7e71cd66705c31c9af94077901a220f0870c/library/std/src/backtrace.rs:331:13
3: std::backtrace::Backtrace::capture
at /rustc/5c6a7e71cd66705c31c9af94077901a220f0870c/library/std/src/backtrace.rs:297:9
4: anyhow::error::<impl anyhow::Error>::msg
5: zksync_server::main::{{closure}}
6: tokio::runtime::park::CachedParkThread::block_on
7: tokio::runtime::context::runtime::enter_runtime
8: tokio::runtime::runtime::Runtime::block_on
9: zksync_server::main
10: std::sys_common::backtrace::__rust_begin_short_backtrace
11: std::rt::lang_start::{{closure}}
12: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once
at /rustc/5c6a7e71cd66705c31c9af94077901a220f0870c/library/core/src/ops/function.rs:284:13
13: std::panicking::try::do_call
at /rustc/5c6a7e71cd66705c31c9af94077901a220f0870c/library/std/src/panicking.rs:524:40
14: std::panicking::try
at /rustc/5c6a7e71cd66705c31c9af94077901a220f0870c/library/std/src/panicking.rs:488:19
15: std::panic::catch_unwind
at /rustc/5c6a7e71cd66705c31c9af94077901a220f0870c/library/std/src/panic.rs:142:14
16: std::rt::lang_start_internal::{{closure}}
at /rustc/5c6a7e71cd66705c31c9af94077901a220f0870c/library/std/src/rt.rs:148:48
17: std::panicking::try::do_call
at /rustc/5c6a7e71cd66705c31c9af94077901a220f0870c/library/std/src/panicking.rs:524:40
18: std::panicking::try
at /rustc/5c6a7e71cd66705c31c9af94077901a220f0870c/library/std/src/panicking.rs:488:19
19: std::panic::catch_unwind
at /rustc/5c6a7e71cd66705c31c9af94077901a220f0870c/library/std/src/panic.rs:142:14
20: std::rt::lang_start_internal
at /rustc/5c6a7e71cd66705c31c9af94077901a220f0870c/library/std/src/rt.rs:148:20
21: _main
22: <unknown>
- The DB is initialized twices which slow down the init process
Why ❔
Checklist
- [x] PR title corresponds to the body of PR (we generate changelog entries from PRs).
- [x] Tests for the changes have been added / updated.
- [x] Documentation comments have been added / updated.
- [x] Code has been formatted via
zk fmtandzk lint. - [x] Spellcheck has been run via
zk spellcheck. - [x] Linkcheck has been run via
zk linkcheck.
What's the best way to reproduce the error?
Could you list the commands please?
I ran zk init as usual with no errors
Try zk init and make sure to delete previous docker volumes (db and geth) or other previous data folders
you will see this error
Error: Failed to save SetChainId upgrade transaction
Caused by:
Expected a single set_chain_id event, got these 0: []
Stack backtrace:
0: std::backtrace_rs::backtrace::libunwind::trace
at /rustc/5c6a7e71cd66705c31c9af94077901a220f0870c/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
1: std::backtrace_rs::backtrace::trace_unsynchronized
at /rustc/5c6a7e71cd66705c31c9af94077901a220f0870c/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
2: std::backtrace::Backtrace::create
at /rustc/5c6a7e71cd66705c31c9af94077901a220f0870c/library/std/src/backtrace.rs:331:13
3: std::backtrace::Backtrace::capture
at /rustc/5c6a7e71cd66705c31c9af94077901a220f0870c/library/std/src/backtrace.rs:297:9
4: anyhow::error::<impl anyhow::Error>::msg
5: zksync_server::main::{{closure}}
6: tokio::runtime::park::CachedParkThread::block_on
7: tokio::runtime::context::runtime::enter_runtime
8: tokio::runtime::runtime::Runtime::block_on
9: zksync_server::main
10: std::sys_common::backtrace::__rust_begin_short_backtrace
11: std::rt::lang_start::{{closure}}
12: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once
at /rustc/5c6a7e71cd66705c31c9af94077901a220f0870c/library/core/src/ops/function.rs:284:13
13: std::panicking::try::do_call
at /rustc/5c6a7e71cd66705c31c9af94077901a220f0870c/library/std/src/panicking.rs:524:40
14: std::panicking::try
at /rustc/5c6a7e71cd66705c31c9af94077901a220f0870c/library/std/src/panicking.rs:488:19
15: std::panic::catch_unwind
at /rustc/5c6a7e71cd66705c31c9af94077901a220f0870c/library/std/src/panic.rs:142:14
16: std::rt::lang_start_internal::{{closure}}
at /rustc/5c6a7e71cd66705c31c9af94077901a220f0870c/library/std/src/rt.rs:148:48
17: std::panicking::try::do_call
at /rustc/5c6a7e71cd66705c31c9af94077901a220f0870c/library/std/src/panicking.rs:524:40
18: std::panicking::try
at /rustc/5c6a7e71cd66705c31c9af94077901a220f0870c/library/std/src/panicking.rs:488:19
19: std::panic::catch_unwind
at /rustc/5c6a7e71cd66705c31c9af94077901a220f0870c/library/std/src/panic.rs:142:14
20: std::rt::lang_start_internal
at /rustc/5c6a7e71cd66705c31c9af94077901a220f0870c/library/std/src/rt.rs:148:20
21: _main
22: <unknown>
The reason is that you can not setup server genesis before the l1 smart contracts are deployed