4 个版本
新 0.1.5 | 2024 年 8 月 19 日 |
---|---|
0.1.4 | 2024 年 8 月 16 日 |
0.1.2 | 2024 年 8 月 8 日 |
0.1.1 | 2024 年 8 月 8 日 |
#29 in 模板引擎
每月 328 次下载
26KB
426 行
clique-cli
Clique 命令行界面 (Clique CLI) 是一个开源工具,它允许您在 Clique 网络上开发、构建、测试和部署您的任务。
安装
从 Cargo 获取预构建的可执行文件(推荐)
如果您已经安装了 Rust 工具链,您可以从 cargo 获取我们的预构建可执行文件。
$ cargo install clique-cli
从源代码构建
您也可以使用以下指南自行构建可执行文件。
先决条件
- Rust 工具链
分步指南
从 GitHub 克隆 Clique CLI
$ git clone https://github.com/CliqueOfficial/clique-protocol-sdk.git
使用 Cargo 构建 二进制文件
$ cargo build --release --bin clique
将构建的可执行文件安装到系统中
# Install the binary locally (recommended)
$ cp target/release/clique ~/.local/bin/
# Or if you want to install it globally
$ sudo cp target/release/clique /usr/bin/
确保 ~/.local/bin 包含在 $PATH 环境变量中。
开发任务
从模板初始化
要初始化存储库,请使用以下命令
$ clique init --template evm
此命令将创建一个项目,该项目输出一个包含相应 EVM 字节码的 Clique 任务清单文件(请注意,字节码格式取决于您指定的 VM -- 我们计划在未来支持 WASM、RISC V 等)。
如何使用
初始化之前,建立空目录作为您的工区至关重要。
$ mkdir workspace
$ cd workspace
$ clique init --template evm
项目结构
初始化后,项目结构如下
/workspace
-- contracts
-- Main.sol
-- manifest.toml
-- foundry.toml
/contracts/Main.sol
是主要的 Solidity 智能合约源文件。此文件包含项目中的核心智能合约逻辑和功能。manifest.toml
是用 TOML 编写的 clique 任务元数据,包括 I/O 架构、证明类型以及根据任务类型可选的代码或任务部分。foundry.toml
是特定于 Foundry 工具包的配置文件。您可以使用 Foundry 编译和测试您的合约。Foundry 也将在后续构建阶段编译合约。
如果您尚未设置 Foundry 环境,请在终端中运行以下命令,然后按照屏幕上的说明进行操作
curl -L https://foundry.paradigm.xyz | bash
模板初始化完成后,您可以修改合约和 manifest.toml
。
重要的是要注意,合约入口点是固定的,并且必须是 Main.sol
。并且 函数名必须是 evaluate
。用户可以将其他合约导入到 Main.sol 中。
在修改合约后,用户应根据合约的更改更新 manifest.toml
中的新 name
、input
、output
和 proof-compability
部分。代码部分应留空,因为它将在构建阶段由 CLI 自动填充。
构建任务
运行以下命令来构建开发任务。
clique build --type evm
构建后,您的项目结构应如下所示
/workspace
-- contracts
-- Main.sol
-- tasks
-- manifest.toml
-- manifest.toml
-- foundry.toml
在开发阶段,开发者已修改合约代码和 manifest.toml
,其中 manifest.toml
中的 code
部分留空。
在构建阶段,我们将生成 manifest.toml
的副本到 tasks/manifest.toml
,并自动填充代码部分。我们使用 Foundry 工具包来编译合约,并将编译后的字节码自动填充到新复制的 manifest.toml
中。
测试任务(待办:本地运行测试)
要测试任务而不进行发布,请运行以下命令
$ clique test -f manifest.toml
部署任务
要本地部署任务,请运行以下命令。
clique deploy --kernel http://127.0.0.1:8000
要将任务发布到 Clique 网络,
clique deploy --kernel http://kernel-testnet.clique.tech
依赖项
~26–38MB
~774K SLoC