为了在 Fluence 平台上开发,我们推荐使用 Fluence CLI。
确保版本兼容性
为了确保 Fluence 协议的所有组件无缝工作,维护各部分版本匹配至关重要。你使用的 Fluence CLI 版本必须与要连接的 Nox 版本兼容。
保持 Fluence CLI 的最新
更新 Fluence CLI 是确保版本兼容性的第一步也是最重要的一步。使用 fluence update 命令来更新 Fluence CLI。此命令的允许参数包括:
dar - 与当前 dar 环境兼容的版本
kras - 与当前 kras 环境兼容的版本
stage - 与当前 stage 环境兼容的版本
main - 主分支的最新构建
例如,如果你在使用 dar 环境,请先运行 fluence update dar。还需要使用 --env 标志选择环境,或在 Fluence 项目内运行 fluence default env dar 以将环境设置为项目的默认环境。
确保依赖项的兼容性
Fluence CLI 包含所有经过测试可以一起正常工作的 Fluence 协议部分的硬编码版本。一般来说,如果你在使用本地 Fluence 网络,一切应该都能正常工作。但是,你可能在项目的 fluence.yaml 配置中指定了与当前 CLI 版本不匹配的依赖项。要将这些依赖项重置为默认版本,请运行:
bash
复制代码
fluence dep r
虽然不是必需的,但每次更新 CLI 时运行此命令是个好习惯,以确保兼容性。高级用户可以运行 fluence dep v 查看所有这些版本。
管理 Fluence CLI 依赖项
Aqua
要安装项目的 Aqua 依赖项,请运行:
bash
复制代码
fluence dep i
你可以安装特定的 Aqua 依赖项:
bash
复制代码
fluence dep i @fluencelabs/aqua-lib@0.9.1
要卸载特定的 Aqua 依赖项,请运行:
bash
复制代码
fluence dep un @fluencelabs/aqua-lib
你也可以直接编辑 fluence.yaml,然后运行 fluence dep i。
高级用户请注意,Aqua 编译器目前依赖 npm 作为其包管理器。如果遇到任何问题,请参阅 npm 文档。Fluence CLI 管理其自己的 npm 版本,因此不需要单独安装 npm。
Rust
Fluence CLI 会尝试在 Linux 和 macOS 上为你安装 Rust。如果你使用 Windows 或者 CLI 无法安装 Rust,请参考 Rust 官方文档进行安装。
Fluence CLI 还会安装所需的 Rust 工具链并添加 wasm32-wasi 目标。如果遇到与 Rust 相关的问题,请尝试以下操作:
确保你没有两个 Rust 安装(例如,通过 rustup 和 brew 在 macOS 上安装)。
手动安装 wasm32-wasi:
bash
复制代码
rustup target add wasm32-wasi
rustup target add wasm32-wasi --toolchain nightly
rustup update
必要时重新安装 Rust。
Marine 和 Mrepl
为了创建和编译你的 Rust 代码到 WASI 并测试生成的 Wasm 模块,你需要 Marine CLI 和 Marine REPL。两个组件都由 Fluence CLI 包装,并从各自的 GitHub 发布版本懒加载。要强制下载,请运行:
bash
复制代码
fluence dep i
高级用户可以在项目中使用 marineVersion 和 mreplVersion 属性覆盖 marine 和 mrepl 版本。如果下载失败,Fluence CLI 将尝试使用 cargo 从源码构建 marine 和 mrepl。
Docker
如果你想使用本地 Fluence 网络,Docker 是必需的,这在将代码部署到远程 dar 或 kras 环境之前测试代码非常有用。使用官方 Docker 文档为你的操作系统安装 Docker Desktop。安装后,在尝试使用以下命令设置本地 Fluence 网络之前,记得运行 Docker:
bash
复制代码
fluence local up
通过遵循这些步骤和指南,你可以为 Fluence 设置并维护一个兼容且高效的开发环境。