Setup
Make sure to first install the prerequisites from the quickstart section before proceeding.
Installation
Before you can start migrating your rollup, you'll need to build and install Kailua's binaries by calling the following commands from the root project directory:
At the cost of longer compilation time, you can embed the RISC Zero zkvm prover logic into kailua-cli
instead of
having it utilize your locally installed RISC Zero r0vm
for proving.
To do this, add -F prove
to the install command below.
For GPU-accelerated local proving, use one of the following feature flags:
- Apple:
-F metal
- Nvidia:
-F cuda
CLI Binary
cargo install kailua-cli --path bin/cli --locked
Configuration
Once your installation is successful, you should be able to run the following command to fetch the Kailua configuration parameters for your rollup instance:
kailua-cli config --op-node-url [YOUR_OP_NODE_URL] --op-geth-url [YOUR_OP_GETH_URL] --eth-rpc-url [YOUR_ETH_RPC_URL]
Running the above command against the respective Base mainnet endpoints should produce the following output:
RISC0_VERSION: 3.0.3
KAILUA_FPVM_KONA_ID: 0xB59D835FCF16CA7AC20E0AC78DC1C25054FC745162D59639C328893888A9EF34
KAILUA_FPVM_KONA_ELF: 37.4 MiB
KAILUA_FPVM_HOKULEA_ID: 0x934510732374A539968599EB0A2230426ABCD60609FBD091E37D6828817A87F4
KAILUA_FPVM_HOKULEA_ELF: 40.6 MiB
KAILUA_DA_HOKULEA_ID: 0xE6AE1F0EE0FEE9E253DB02250FAD8C0C8DC65141A0042A879FBACBDAE50EA2CB
KAILUA_DA_HOKULEA_ELF: 2.9 MiB
KAILUA_FPVM_HANA_ID: 0x352A67AA1B6E039EDE0EFD4B97CE58BD7357800F717807BBD655E317E3032EB7
KAILUA_FPVM_HANA_ELF: 43.7 MiB
CONTROL_ROOT: 0xA54DC85AC99F851C92D7C96D7318AF41DBE7C0194EDFCC37EB4D422A998C1F56
CONTROL_ID: 0x04446E66D300EB7FB45C9726BB53C793DDA407A62E9601618BB43C5C14657AC0
RISC_ZERO_VERIFIER: 0x8EAB2D97DFCE405A1692A21B3FF3A172D593D319
GENESIS_TIMESTAMP: 1686789347
BLOCK_TIME: 2
ROLLUP_CONFIG_HASH: 0x6A4B3209AFD526E046BA1B33A40DB9EAEDF6F4D27167E61D0A12A17DE0E712F2
DISPUTE_GAME_FACTORY: 0x43EDB88C4B80FDD2ADFF2412A7BEBF9DF42CB40E
OPTIMISM_PORTAL: 0x49048044D57E1C92A77F79988D21FA8FAF74E97E
KAILUA_GAME_TYPE: 1337
Make sure that your FPVM_IMAGE_ID
matches the value above.
This value determines the exact program used to prove faults.
If your RISC_ZERO_VERIFIER
value is blank, this means that your rollup might be deployed on a base layer that does
not have a deployed RISC Zero zkVM verifier contract.
This means you might have to deploy your own verifier.
Always revise the RISC Zero documentation
to double-check verifier availability.
Once you have these values you'll need to save them for later use during migration.
Telemetry
All Kailua binaries and commands support exporting telemetry data to an
OTLP Collector.
The collector endpoint can be specified using the --otlp-collector
parameter, or through specifying the
OTLP_COLLECTOR
environment variable.