dfx 账本

使用 dfx ledger 命令与账本容器交互。

此命令可用于进行从一个容器到另一个容器的 ICP 实用程序代币交易,或使用来自 ICP 的周期为容器充值。

运行 dfx ledger 命令的基本语法是:

dfx ledger [options] [subcommand]

根据您指定的 dfx ledger 子命令,可能会应用其他参数、选项和标志。 有关说明使用 dfx ledger 命令的参考信息和示例,请选择适当的命令。

命令 描述

account-id

打印所选身份的账户标识符。

balance

打印用户的账户余额。

create-canister

从 ICP 创建一个容器。

help

显示指定子命令的帮助信息消息。

notify

当有发送交易到循环铸币容器时通知账本。

top-up

使用 ICP 铸造的周期为容器充值。

transfer

将 ICP 从用户转移到目标 Account Identifier。

要查看特定子命令的帮助信息,请指定子命令和 --help 标志。 例如,要查看`dfx ledger transfer`的帮助信息,可以运行以下命令:

dfx ledger transfer --help

dfx ledger account-id

使用 dfx ledger account-id 命令显示与当前活动身份关联的帐户标识符。 与您的开发者身份principal的文本表示一样,帐户标识符是从您的私钥派生的,用于在账本容器中表示您的身份。

基本用法

dfx ledger account-id [flag]

标志

您可以在 dfx ledger account-id 命令中使用以下可选标志。

标志 说明

-h, --help

显示帮助信息。

-V, --version

显示版本信息。

例子

如果您创建了多个身份,请通过运行 dfx identity whoami 命令或 dfx identity get-principal 命令检查您当前使用的身份。 然后,您可以通过运行以下命令来检查您当前选择的开发者身份的帐户标识符:

dfx ledger account-id

该命令显示类似于以下内容的输出:

03e3d86f29a069c6f2c5c48e01bc084e4ea18ad02b0eec8fccadf4487183c223

dfx 账本余额

使用 dfx ledger balance 命令打印您或其他用户的账户余额。

基本用法

dfx ledger --network ic balance [of] [flag]

标志

您可以在 dfx ledger balance 命令中使用以下可选标志。

标志 说明

-h, --help

显示帮助信息。

-V, --version

显示版本信息。

参数

您可以为 dfx ledger balance 命令指定以下参数。

参数 描述

<of>

指定帐户标识符以获取余额。 如果未指定此命令,则该命令返回当前选择的用户身份的 ICP 令牌余额。

例子

您可以使用 dfx ledger balance 命令查看其他用户的余额。 例如,您可以运行以下命令来查看与已知帐户标识符关联的 ICP 实用令牌:

dfx ledger --network ic balance 03e3d86f29a069c6f2c5c48e01bc084e4ea18ad02b0eec8fccadf4487183c223

此命令显示类似于以下内容的 ICP 数量:

2.49798000 ICP

dfx账本创建容器

使用 dfx ledger create-canister 命令将 ICP代币转换为循环并在 Internet Computer 上注册新的容器标识符。

基本用法

dfx ledger --network ic create-canister controller [options]  [flag]

标志

您可以在 dfx ledger create-canister 命令中使用以下可选标志。

标志 说明

-h, --help

显示帮助信息。

-V, --version

显示版本信息。

参数

您可以为 dfx ledger create-canister 命令指定以下参数。

参数 描述

<controller>

指定principal标识符设置为新容器的控制器。

选项

您可以为 dfx ledger create-canister 命令指定以下参数。

选项 说明

--amount <amount>

指定要铸造成燃料费并存入目标容器的ICP令牌的数量。 您可以将金额指定为最多八 (8) 位小数的数字。

--e8s <e8s>

将 ICP 代币小数单位(称为 e8s)指定为整数,其中一个 e8 是 ICP 代币的最小分区。 例如,1.05000000 是 1 个 ICP 和 5000000 个 e8s。 您可以单独使用此选项,也可以与 --icp 选项结合使用。

--fee <fee>

指定交易费用。 默认值为 10000 个 e8s。

--icp <icp>

将 ICP 代币指定为整数。 您可以单独使用此选项,也可以与 --e8s 结合使用。

--max-fee <max-fee>

指定最高交易费用。 默认值为 10000 个 e8s。

例子

要创建具有燃料费的新容器,请通过运行类似于以下的命令从您的分类帐帐户转移 ICP 代币:

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

此命令将您为 --amount 参数指定的 ICP 代币数量转换为燃料费,并将燃料费与您指定的principal控制的新容器标识符相关联。

在此示例中,该命令将 1.25 个 ICP 代币转换为燃料费,并将默认身份的principal标识符指定为新容器的控制器。

如果交易成功,账本会记录该事件,您应该会看到类似于以下内容的输出:

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

您可以通过运行类似于以下的命令为 ICP 令牌和 e8s 指定单独的值来创建新容器:

dfx ledger --network ic create-canister tsqwz-udeik-5migd-ehrev-pvoqv-szx2g-akh5s-fkyqc-zy6q7-snav6-uqe --icp 3 --e8s 5000

dfx 账本通知

使用 dfx ledger notify 命令通知账本有关向燃料费铸币容器发送交易的信息。 仅当 dfx ledger create-canisterdfx ledger top-up 成功向账本发送消息,并且在某个区块高度记录了交易,但由于某种原因后续通知失败时,才应使用此命令 .

基本用法

dfx ledger notify [options] _block-height_ _destination-principal_

标志

您可以在 dfx ledger notify 命令中使用以下可选标志。

标志 说明

-h, --help

显示帮助信息。

-V, --version

显示版本信息。

参数

您可以为 dfx ledger notify 命令指定以下参数。

参数 描述

<block-height>

指定记录发送交易的区块高度。

<destination-principal>

指定目标的principal,容器标识符或用户principal的文本表示。 如果发送事务是针对 create-canister 命令的,请指定 controller principal。 如果发送事务用于`top-up` 命令,请指定`canister ID`。

例子

以下示例说明了向账本发送“notify”消息以响应在区块高度“75948”处记录的“_send+”交易。

dfx ledger --network ic notify 75948 tsqwz-udeik-5migd-ehrev-pvoqv-szx2g-akh5s-fkyqc-zy6q7-snav6-uqe

dfx 账本充值

使用 dfx ledger top-up 命令来充值具有从 ICP 代币铸造的燃料费的容器。

基本用法

dfx ledger --network ic top-up [options] canister [flag]

标志

您可以在 dfx ledger top-up 命令中使用以下可选标志。

标志 说明

-h, --help

显示帮助信息。

-V, --version

显示版本信息。

参数

您可以为 dfx ledger top-up 命令指定以下参数。

参数 描述

canister

指定要充值的容器标识符。

选项

您可以为 dfx ledger top-up 命令指定以下选项。

选项 说明

--amount <amount>

指定要铸造成燃料费并存入目标容器的ICP代币的数量。 您可以将金额指定为最多八 (8) 位小数的数字。

--e8s <e8s>

将 ICP 代币(称为 e8s)的小数单位指定为整数,其中一个 e8 是 ICP 代币的最小单位。 例如,1.05000000 是 1 个 ICP 和 5000000 个 e8s。 您可以单独使用此选项,也可以与 --icp 选项结合使用。

--fee <fee>

指定操作的交易费用。 默认值为 10000 个 e8s。

--icp <icp>

将ICP代币指定为整数。 您可以单独使用此选项,也可以与 --e8s 结合使用。

--max-fee <max-fee>

指定最高交易费用。 默认值为 10000 个 e8s。

例子

您可以使用 dfx ledger top-up 命令从您控制的 ICP 代币余额中充值特定容器的周期。 容器标识符必须与能够接收燃料费的燃料费钱包容器相关联。 或者,您可以修改非燃料费钱包容器以使用链接中描述的系统 API 来实现接收燃料费的方法Internet 计算机接口规范

例如,您可以运行以下命令来为部署在互联网计算机上的燃料费钱包容器充值 1 ICP 价值的燃料费:

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

此命令显示类似于以下内容的输出:

Transfer sent at BlockHeight: 59482
Canister was topped up!

dfx 账本转账

使用 dfx ledger transfer 命令将 ICP 代币从您在账本容器中的帐户地址转移到目标地址。

基本用法

dfx ledger transfer [options] to --memo memo

标志

您可以在 dfx ledger transfer 命令中使用以下可选标志。

标志 说明

-h, --help

显示帮助信息。

-V, --version

显示版本信息。

参数

您可以为 dfx ledger transfer 命令指定以下参数。

参数 描述

<to>

指定您要向其转移 ICP 代币的帐户标识符或地址。

选项

您可以为 dfx ledger transfer 命令指定以下参数。

选项 说明

--amount <amount>

指定要转移的ICP代币的数量。 可以指定为最多八 (8) 位小数的数字。

--e8s <e8s>

将e8s指定为整数,其中一个e8是ICP令牌的最小分区。 例如,1.05000000 是 1 个 ICP 和 5000000 个 e8s。 您可以单独使用此选项,也可以与 --icp 选项结合使用。

--fee <fee>

指定交易费用。 默认值为 10000 个 e8s。

--icp <icp>

将ICP指定为整数。 您可以单独使用此选项,也可以与 --e8s 结合使用。

--memo <memo>

指定该交易的数字备忘录。

例子

您可以使用`dfx ledger transfer`命令将ICP发送到目的地的Account Identifier。

例如,您可以运行以下命令来检查与您当前使用的委托人关联的帐户标识符:

dfx ledger account-id

此命令显示类似于以下内容的输出:

30e596fd6c5ff5ad7b7d70bbbda1187c833e646c6251464da7f82bc217bba397

您可以通过运行以下命令查看此帐户的余额:

dfx ledger --network ic balance

此命令显示类似于以下内容的输出:

64.89580000 ICP

对Motoko使用 dfx ledger transfer 命令将您的一些 ICP 余额发送到另一个已知目的地,使用以下命令:的改动

dfx ledger --network ic transfer dd81336dbfef5c5870e84b48405c7b229c07ad999fdcacb85b9b9850bd60766f --memo 12345 --icp 1

此命令显示类似于以下内容的输出:

Transfer sent at BlockHeight: 59513

然后,您可以使用 dfx ledger --network ic balance 命令检查您的帐户余额是否反映了您刚刚进行的交易。