#cycle #tokens #icp #convert #programmatically #canister #amount

mint-cycles

使用 Rust 将 ICP 代币程序性地转换为 cycles

1 个不稳定版本

0.1.0 2024 年 6 月 14 日

#24 in #programmatically

MIT 许可证

27KB
615

ICP 到 Cycles 转换库

免责声明

此库应在 canister 环境中使用

概述

此 Rust 库提供了一个将 ICP 代币程序性地转换为 cycles 的函数。这个功能对于需要使用 Rust CDK 动态管理和部署 canisters 的场景至关重要。

用例

一个主要用例是在线构建用户 canisters。在这种情况下,您需要程序性地将 cycles 添加到 canisters 并自动部署它们。由于 dfx CLI 工具是为手动交互设计的,因此它不适用于此场景。我们的库提供了一个将 ICP 代币转换为 cycles 的程序化解决方案。

功能

mint_cycles

该库包含一个函数:mint_cycles。此函数将 canister 持有的 ICP 代币转换为 cycles。

函数签名

fn mint_cycles(amount: Tokens)

参数

amount:此参数类型为 Tokens,定义为


pub struct Tokens {
    e8s: u64,
}

有关详细信息,请参阅 ic_ledger_types::Tokens

假设

调用 mint_cycles 的 canister 持有一些 ICP 代币。

Canisters 可以持有和转移 ICP 代币。在调用 mint_cycles 之前,您可以使用选择的钱包或任何其他方法将 ICP 代币充值到主 canister。

此主 canister 可用于自动构建和部署其他 canisters。

示例工作流程

  1. 为主 canister 充值:将 ICP 代币转移到您的主 canister。
  2. 将代币转换为 cycles:使用要转换的代币数量调用 mint_cycles。
  3. 部署 canisters:使用 cycles 程序性地构建和部署其他 canisters。

源代码

有关更多详细信息以及如何贡献,请参阅源代码。

此库旨在简化将 ICP 代币转换为 cycles 的过程,以实现动态 canister 管理和部署。我们希望这有所帮助,并期待您的贡献。

依赖项

~6.5MB
~127K SLoC