I have deployed the kernel from the 05_kernel_outbox example in the kernel_gallery code repository. However, I commented out the function call to "write_outbox_message".

Now, I'm trying to send an internal message from a smart contract to the rollup. However, I can't manage that the a corresponding debug message is written to the kernel log.

In my contract I pack the INT in order to get bytes, which seems not to work.

How do I have to make the call?

Many thanks:

  • Additional information: I used tezos-smart-rollup-installer to upgrade the kernel. Is this the problem, since the initial kernel deploys a rollup interface of type "CONTRACT BYTES" and not "CONTRACT INT"?
    – ghast
    Oct 12, 2023 at 8:39

2 Answers 2


The smart-rollup-installer doesn't influence at all the type of the rollup.

When you originate the rollup, you need to select the type of the entrypoint. so for an entrypoint of type int, you would do (modified from the docs):

octez-client originate smart rollup "${SOR_ALIAS}" \
  from "${OPERATOR_ADDR}" \
  of kind wasm_2_0_0 \
  of type int \
  with kernel "${KERNEL}" \
  --burn-cap 999

You would then be able to send an INT to the rollup from your smart contract - no need to pack the int.

If you were using the smart-rollup-installer, then ${KERNEL} here would be installer.hex.


I believe that tezos-smart-rollup-installer has no deal with it.

The contract through which you submit the internal message to your rollup should send bare int as parameter, not bytes.

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.