Setting up a Tezos Smart Rollup in 5 steps

Check out this awesome guide by Thomas Letan and Chris Pinnock on setting up a Tezos smart rollup:

6 Likes

I successfully finished the guide of setting up a Tezos Smart Rollup made by Chris Pinnock and Thomas Letan :slightly_smiling_face: Thanks for the guide and the troubleshooting!
I used a VM Ubuntu 22.04 (LTS) x64, 8 GB Memory & 160 GB NVMe SSD Disk.

These are my steps and some small problems I had, maybe it will help others:

So first I followed the guide from Chris Pinnock

apt update && apt upgrade
apt install libev4 libhidapi-libusb0

I used the packages that are linked in the guide and downloaded them with wget.

wget http://downloads.chrispinnock.com/tezos/dpkg/octez-ubt220-unoff-node_16.0rc3-1_amd64.deb
 wget http://downloads.chrispinnock.com/tezos/dpkg/octez-ubt220-unoff-client_16.0rc3-1_amd64.deb 
dpkg -i octez-ubt220-unoff-client_16.0rc3-1_amd64.deb \ octez-ubt220-unoff-node_16.0rc3-1_amd64.deb
 addgroup tezos
 adduser --ingroup tezos tezos
mkdir -p /var/tezos/node
chown -R tezos:tezos /var/tezos
sudo su - tezos

Here its important to use the url for network instead of --network mumbainet. See the stackexchange

octez-node config init --data-dir /var/tezos/node \
            --network https://teztnets.xyz/mumbainet \
            --history-mode=rolling \
            --net-addr="[::]:9732" \
            --rpc-addr="127.0.0.1:8732"
systemctl enable octez-node.service
systemctl start octez-node.service
tail -f /var/log/tezos/node.log

On a second shell terminal I did this command to see the progress but its not needed.

octez-client bootstrapped

I did not import a snapshot but synced it fromm scratch. After I saw the message that the node is bootstrapped I followed the Tezos Commons guide

apt install libgmpxx4ldbl

Please notice, in the wget command the file is called smartrollup with out a s but in the dpkg command in the link its smartrollups. This lead to the error that I couldnt continue with dpkg. I had to remove the extra s when I copy pasted the command from the guide.

wget http://downloads.chrispinnock.com/tezos/dpkg/octez-ubt220-unoff-smartrollup_16.0rc3-1_amd64.deb
dpkg -i octez-ubt220-unoff-smartrollup_16.0rc3-1_amd64.deb
sudo su - tezos
octez-client gen keys operator
octez-client list known addresses

Then get for your address testnet tokens in the faucet and check the balance

octez-client get balance for operator

Then continue with the guide.

wget https://tezos.gitlab.io/_downloads/3dc4fd44d97861f183e18fda0ee8a9ae/sr_boot_kernel.sh
source sr_boot_kernel.sh
echo ${KERNEL}

This is the part where I got stuck. After some troubleshooting with Chris Pinnock the only way it worked for me was to do this command as one liner and pasting the kernel string in directly instead of using a shell variable. So instead of this command:

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

I had to remove the KERNEL variable and paste it directly into the command. Its long:

octez-client originate smart rollup from operator of kind wasm_2_0_0 of type bytes with kernel 0061736d0100000001280760037f7f7f017f60027f7f017f60057f7f7f7f7f017f60017f0060017f017f60027f7f0060000002610311736d6172745f726f6c6c75705f636f72650a726561645f696e707574000011736d6172745f726f6c6c75705f636f72650c77726974655f6f7574707574000111736d6172745f726f6c6c75705f636f72650b73746f72655f77726974650002030504030405060503010001071402036d656d02000a6b65726e656c5f72756e00060aa401042a01027f41fa002f0100210120002f010021022001200247044041e4004112410041e400410010021a0b0b0800200041c4006b0b5001057f41fe002d0000210341fc002f0100210220002d0000210420002f0100210520011004210620042003460440200041016a200141016b10011a0520052002460440200041076a200610011a0b0b0b1d01017f41dc0141840241901c100021004184022000100541840210030b0b38050041e4000b122f6b65726e656c2f656e762f7265626f6f740041f8000b0200010041fa000b0200020041fc000b0200000041fe000b0101 --burn-cap 999

But this way I succeeded and could continue. No idea why the variable didnt worked and Chris Pinnock couldnt reproduce this problem either. If anyone else experiences a similar issue please post :slight_smile:

Then I continued exactly like in the guide and experienced any issues.

I just have one last silly question. What should I put into instead of YOURNODE to be able to download and see the commitment? With my node IP address I got an error.

wget http://YOURNODE:8732/chains/main/blocks/BLOCK_ID

Now I will follow the guide How to write a rollup kernel from Marigold. And then I should be able to use this kernel with the Tezos commons guide I guess?

1 Like

yes I had the same experience, had to use kernel explicitly

A smart rollup workshop organized by @d4hines! :slight_smile:
https://twitter.com/danhines09/status/1649520727240982531

Are there other tutorials or workshops? If yes please post them

1 Like

Tezos Smart Rollups(All Resources)

These are the smart roll-up resources curated in one place. Feel free to add more if anything is missing.