#installer #rollup #tezos #smart

bin+lib mavryk-smart-rollup-installer

Mavryk Smart Rollups 的安装客户端

1 个不稳定版本

0.2.2 2024 年 7 月 30 日

467开发工具 中排名 #467

Download history 115/week @ 2024-07-28 2/week @ 2024-08-04

117 每月下载量

MIT 许可证

335KB
7K SLoC

在发起 Smart Rollup 时,支持的最大内核大小有限制。如果您的内核过大,则必须使用安装程序。

要生成 installer 内核,您可以使用 smart-rollup-installer 工具。

先决条件

您需要

  • 至少安装 rust-1.71.1(您可以使用 cargo --version 检查),并使用 wasm32-unknown-unknown 工具链。
  • 安装 WebAssemblyBinaryToolkit (wabt)。特别是,安装 wasm-strip 可执行文件。
  • $HOME/.cargo/bin 应该可用在您的 $PATH 中。
  • 安装 clang>=11,并将其设置为 CC 环境变量。

安装 smart-rollup-installer

运行以下命令进行安装

cargo install mavryk-smart-rollup-installer

要获取最新开发版本,您还可以运行 cargo install mavryk-smart-rollup-installer --git https://gitlab.com/mavryk-network/mavryk-protocol.git

这将默认将 smart-rollup-installer 可执行文件放置在 $HOME/.cargo/bin

创建安装程序内核

假设您要运行的内核名为 kernel.wasm,您可以为此创建一个安装程序内核

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

其中 <preimages-dir> 是保存内核 预图像 的目录。安装程序将通过 揭示数据 通道请求这些文件。

现在,您可以通过将 installer.hex 传递给 mavkit-client originate smart rollup 命令来启动 rollup,设置 KERNEL=$(cat installer.hex)

运行 rollup 节点

要运行 rollup 的 rollup 节点,您需要将 <preimages-dir> 的内容复制到 ${ROLLUP_NODE_DIR}/wasm_2_0_0 - 其中 ${ROLLUP_NODE_DIR} 是您的 rollup 节点数据目录。

一旦复制完成,您应该能够运行您的 rollup 节点,并且安装程序内核将自动升级。

有关启动 rollup 和运行 rollup 节点的更多信息,请参阅 rollup 文档

使用 mavkit-smart-rollup-wasm-debugger

您还可以通过使用调试器来尝试此操作,这可能比运行 rollup 节点更容易。为此,您需要在 --output 参数上使用 .wasm 扩展名

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

然后,您可以在 调试器 中运行安装程序,使用 --preimage-dir 参数指向之前生成的预图像

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

依赖关系

~18MB
~344K SLoC