Skip to main content

获取 cycles

faucet

概述

什么是 cycles

为了使互联网计算机可持续发展,开发人员需要支付其容器所消耗的资源费用(例如存储、算力等),而 cycles 则用于支付这些资源费用。每一万亿个 cycles 等于1个 XDR,这意味着容器的运行成本与 ICP 代币的价格波动无关。关于更多 cycles 的信息,请参考这里

什么是 cycles 钱包

容器需要 cycles 来执行操作、并为所使用的资源付费,用户和开发人员通过一种称为 cycles 钱包的特殊容器来管理 cycles 的分配和所有权。关于 cycles 钱包的更多信息,请参考这里

目前 cycles 钱包是一种复杂的解决方案,它本质上是一个容器、自身也会消耗 cycles。目前 DFINITY 基金会正在开发的一个新功能就是 cycles 账本,用来简化 cycles 的管理。

要求

请按照此指南安装 IC SDK。

从 cycles 水龙头获取 cycles

这里将解释如何使用 cycles 水龙头获取您的第一笔 10T 免费 cycles,以用于在主网上部署您的 dapp。

note

请注意,cycles 水龙头只能使用一次。

获取 cycles 优惠券

下面将介绍如何获得 cycles 优惠券。

加入 DFINITY 官方 dev Discord 服务器

首先请访问 https://faucet.dfinity.org 页面。

cycle_faucet_website

点击该页面 REQUEST CYCLES 按钮加入 DFINITY 官方 Dev Discord 服务器

info

Discord 服务器地址:https://discord.com/invite/jnjVVQaE2C

提交 cycles 优惠券请求

进入 DFINITY 官方 dev Discord 服务器后,转到 #cycles-faucet 频道。

cycle_faucet_discord

在该频道中,发送一个获取 cycles 优惠券的消息:

/request

DFINITY 团队将与您联系

  • 发送获取 cycles 优惠券的消息后,DFINITY 团队的成员将通过 Discord 的直接消息与您联系。请确保您的 Discord 设置为允许其他用户发送直接消息。

  • DFINITY 团队的消息中包含一份调查问卷,您必须完成此调查问卷。

    cycle_faucet_survey

  • 当您完成调查问卷后,请回复通知团队成员您已经完成了调查问卷。随后他们将向您发送一张优惠券。

兑换 cycles 优惠券

  • 再次访问 https://faucet.dfinity.org 页面,点击 NEXT STEP

  • 在如下页面输入你的 cycles 优惠码,确认无误后点击 NEXT STEP 继续。 cycle_faucet_coupon

  • 按照页面提示设置 IC SDK,并确认 dfx 版本不低于 0.12.0。 cycle_faucet_sdk

创建新的身份

如果您没有身份,请使用以下命令创建一个新的身份

dfx identity new myNewIdentity

该命令会返回您的身份的助记词(seed phrase),请确保将其安全保存。

随后将此身份设置为默认身份:

dfx identity use myNewIdentity

关于身份的更多命令请参考这里

领取 cycles

请运行以下命令来领取免费 cycles:

dfx wallet redeem-faucet-coupon <your-coupon-code> --network ic
info

该命令会帮你创建一个钱包,并将 cycles 转入其中,关于钱包的更多命令请参考这里

cycle_faucet_claim

验证 cycles

最后一步是通过一下命令检查钱包余额,以验证钱包是否设置正确。

dfx wallet balance --network ic

cycle_faucet_verify

将 ICP 转换为 cycles

将 ICP 代币转换为 cycles,您首先需要获取一些 ICP 并将其转移到您的账户。您可以在交易所上获取 ICP 代币,或者向您认识的人请求一些。

如何获取账户

当您创建身份之后,您就会自动获得一个账本账户

您可以在命令行运行以下命令获取您的账户 ID:

dfx ledger account-id

您将会在命令行看到类似的输出:

e213184a548871a47fb526f3cba24e2ee2fbbc8129c4ab497ef2ce535130a0a4
info

关于如何创建身份,您可以参考这里。关于身份的更多命令,请参考这里

如何获取 ICP 代币

获取 ICP 代币有几种不同的方式,包括但不限于:

  • 通过支持 ICP 代币的交易所直接购买。请查看该页面以了解可以购买 ICP 代币的交易所。

  • 通过参与 IC 治理的奖励获得代币。

  • 通过参与 DFINITY 基金会的开发者计划获得 ICP 代币。

  • 作为节点提供者获得 ICP 代币,以作为提供算力的报酬。

通常来说,价值 5 到 10 美元的 ICP 代币足以开始您的开发工作。后续您可以根据您的工作流程和实际用例来决定是否获取更多的 ICP 代币。

查询 ICP 代币余额

当您获得了ICP 并转入您的账户之后,你可以通过以下命令查询余额:

dfx ledger balance --network ic

您将会看到类似如下的输出:

12.49840000 ICP

如何创建 cycles 钱包

前面我们在介绍如何通过领取优惠券的方式获得 cycles 的时候,提到了 dfx wallet redeem-faucet-coupon 会自动帮您创建 cycles 钱包。

接下来我们介绍如何自己手动创建钱包,如果您已经拥有 cycles 钱包(您可以通过 dfx identity get-wallet 来查看您的钱包配置),则可以跳过此步骤。

info

您可以查看该文档了解更多关于 cycles 钱包的信息。

创建一个新的容器

Cycles 钱包本质上是一个特殊的容器,所以第一步我们需要创建一个新的容器,您可以参考 dfx ledger create-canister 来创建容器。下面是一个示例:

dfx ledger create-canister tsqwz-udeik-5migd-ehrev-pvoqv-szx2g-akh5s-fkyqc-zy6q7-snav6-uqe --amount 1.25 --network ic

该命令将在 IC 主网上创建一个容器,将指定的主体设置为容器的控制者,并向充值价值为 1.25 ICP 的 cycles。

如果创建成功会返回类似如下所示信息:

Transfer sent at BlockHeight: 20
Canister created with id: "53zcu-tiaaa-aaaaa-qaaba-cai"

安装 cycles 钱包代码

创建容器完成后,我们将运行如下命令将 cycles 钱包代码安装到所创建的容器之中:

dfx identity --network ic deploy-wallet <canister-identifier>

关于 dfx identity deploy-wallet 的详细信息可以参考这里

下面是一个示例:

dfx identity deploy-wallet 53zcu-tiaaa-aaaaa-qaaba-cai --network ic

它会在 IC 主网上在指定容器 (53zcu-tiaaa-aaaaa-qaaba-cai) 安装 cycles 钱包 Wasm 代码。

如何从 ICP 充值 cycles 钱包

如果您已经拥有了 cycles 钱包,希望直接将 ICP 代币转换为 cycles,可以使用 dfx ledger top-up 命令。下面是一个示例:

dfx ledger top-up --icp 1 5a46r-jqaaa-aaaaa-qaadq-cai --network ic

其中 5a46r-jqaaa-aaaaa-qaadq-cai 是示例的 cycles 钱包容器 ID,您可以替换为您自己的钱包容器 ID。

更多关于 dfx ledger top-up 的信息,请参考这里

如何给容器充值 cycles

除了给 cycles 钱包充值,您也可以给普通容器进行充值。

查看容器 cycles 余额

在决定是否给容器充值之前,您可以通过 dfx canister status 命令来查看容器的状态,包括容器的 cycles 余额,以下是一个示例:

dfx canister status b5wdk-xiaaa-aaaan-qlsqq-cai --network=ic

如何从 ICP 充值容器

同样可以使用 dfx ledger top-up 命令。下面是一个示例:

dfx ledger top-up --icp 1 b5wdk-xiaaa-aaaan-qlsqq-cai --network ic

其中 b5wdk-xiaaa-aaaan-qlsqq-cai 是示例的 容器 ID,您可以替换为您自己的容器 ID。

如何从 cycles 钱包充值容器

  • 使用 dfx canister deposit-cycles 从 cycles 钱包充值容器,以下是一个示例:

    dfx canister deposit-cycles 2000000000000 b5wdk-xiaaa-aaaan-qlsqq-cai --network ic

    其中 b5wdk-xiaaa-aaaan-qlsqq-cai 是示例的 容器 ID,您可以替换为您自己的容器 ID。

  • 使用 dfx wallet send 从 cycles 钱包充值容器,以下是一个示例:

    dfx wallet send 2000000000000 b5wdk-xiaaa-aaaan-qlsqq-cai --network ic

    其中 b5wdk-xiaaa-aaaan-qlsqq-cai 是示例的 容器 ID,您可以替换为您自己的容器 ID。

总结

至此您已经准备好在 IC 上托管网站或按照我们的 dApps 教程进行操作,您可以在这里找到相关教程。

有问题么?

欢迎大家随时向我们提出任何技术问题。我们会尽力尽快回应

  1. 上网比较方便的,在 ICP China 的 Twitter Community,用中文发帖提问

  2. 有经验的开发者在 DFINITY 基金会运营的开发者论坛上用英文提问

    info

    https://forum.dfinity.org/ ,可以 cue 我们:BenPaulVincentHerbert

  3. 深度 ICP 用户可以在 OpenChat 上的 IC123.xyz Community 里的频道 ic123.xyz 工作组 里提问题

    欢迎您申请 DFINITY 基金会的 Developer Grant 项目,加入互联网计算机的大家庭!