1

I'm attempting to originate a smart rollup with the "TX kernel" at tezos/kernel. It seems this requires using the tezos_rollup_installer_kernel with the octez-client origination call. I'm looking for instruction on how to use the installer kernel. e.g. How do I provide the subsequent wasm files for the TX kernel?

The steps I have complete so far:

  • Build tezos_rollup_isntaller_kernel.wasm
  • Hexadecimal encode the .wasm file.
  • Originate the rollup passing the hex string.

1 Answer 1

3

To generate the installer kernel, you can use the smart-rollup-installer tool.

Prerequisites

You will need:

  • at least rust-1.71 installed (you can check with cargo --version).
  • $HOME/.cargo/bin should be available on your $PATH.
  • clang, v>=11 installed, and set as CC environment variable.

Installing smart-rollup-installer

Run the following to install:

cargo install tezos-smart-rollup-installer --locked

This will place the smart-rollup-installer executable at $HOME/.cargo/bin by default.

Creating the installer kernel

Assuming the kernel you'd like to run is called kernel.wasm, you can create an installer kernel for it:

smart-rollup-installer get-reveal-installer \
    --upgrade-to kernel.wasm \
    --output installer.hex \
    --preimages-dir <preimages-dir>

where <preimages-dir> is the directory to save the preimages of the kernel. The installer will request these through the reveal data channel.

And you can now originate the rollup by supplying installer.hex to the octez-client originate smart rollup command, setting KERNEL=$(cat installer.hex).

Running a rollup node

To be able to run a rollup node for the rollup, you will need to copy the contents of the <preimages-dir> to ${ROLLUP_NODE_DIR}/wasm_2_0_0 - where ${ROLLUP_NODE_DIR} is the data directory of your rollup node.

Once you've copied these across, you should then be able to run your rollup node, and the installer kernel will automatically upgrade.

For more information on originating the rollup & running a rollup node, see the rollup docs.

Using the octez-smart-rollup-wasm-debugger

You can also try this out by using the debugger, which may be easier than running a rollup node. To do so you need to use the .wasm extension on the --output argument:

smart-rollup-installer get-reveal-installer \
    --upgrade-to kernel.wasm \
    --output installer.wasm \
    --preimages-dir <preimages-dir>

You can then run the installer in the debugger, using the --preimage-dir argument to point to the preimages generated previously:

octez-smart-rollup-wasm-debugger installer.wasm --inputs inputs.json --preimage-dir <preimages-dir>

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.