dfx 使用指南

on 2020-06-12

dfx

dfx 命令行工具 , 是开发人员在 IC 网络上,创建、部署和管理 dapps 的主要工具。

常用场景

安装

DFX_VERSION=0.10.1 sh -ci "$(curl -sSL https://sdk.dfinity.org/install.sh)"

创建容器

dfx deploy --network=ic --with-cycles 400000000000 --wallet tfsfh-haaaa-aaaah-qagdq-cai

删除、回收容器

dfx canister --network=ic --wallet tfsfh-haaaa-aaaah-qagdq-cai stop l4m6v-zaaaa-aaaah-qc5za-cai

dfx canister --network=ic --wallet tfsfh-haaaa-aaaah-qagdq-cai delete l4m6v-zaaaa-aaaah-qc5za-cai

充值容器

dfx wallet --network=ic send l4m6v-zaaaa-aaaah-qc5za-cai 8000000000

基本用法

dfx [option] [subcommand] [flag]

Flags

Flag描述
-h, --help显示使用信息
-q, --quiet取消显示信息
-v, --verbose显示有关操作的详细信息
-V, --version显示版本信息

Options

Option描述
-- identity <identity>指定运行命令时使用的用户「身份」
--logfile <logfile>如果指定了 --logfile , 则将日志消息写入指定的日志文名
--log <logmode>指定要使用的日志记录模式, 支持 stderrfiletee(stderr+file)、 默认 stderr 模式

Subcommands

Command描述
bootstrapBootstrap Web Server 为你的项目提供前端罐
build将程序编译成可部署在 IC 上的 WebAssembly 模块
cache管理本地计算机上的 dfx 缓存
canister管理已部署的罐
deploy部署工程下的罐,默认部署所有罐
identity使您能够创建和管理用于与 IC 通信的身份
ledger使您能够与运行在 Internet 计算机上的分类帐罐中的帐户进行交互。
dfx wallet使您能够管理与当前选定「身份」关联的默认 cycles 钱包的 cycles、controllers、custodians 和 addresses

Examples

显示有关当前安装的 dfx 版本的信息,可以运行以下命令:

dfx --version

若要查看特定 subcommand 的使用信息,请指定 subcommand 和 --help 标志

dfx build --help

Using logging options

您可以使用 --verbose--quiet 标志,来递增或递减日志记录级别。

默认日志级别会显示 CRITICAL, ERROR, WARNING, and INFO 这四类消息,如果指定 -v会增加 DEBUG 级别日志,-vv会增加 TRACE 级别日志

添加 --quiet 标志,会降低日志记录级别。例如,若要删除所有日志,可以运行类似于下面的命令:

dfx -qqqq build

请记住,使用 TRACE 级别的日志记录 (-vv) 会生成许多可能影响性能的日志消息,只有在需要进行故障排除或分析时才应该使用这些消息。

要将日志消息输出到名为 newlog.txt 的文件中,并在创建新项目时在终端上显示这些消息,可以运行类似于下面的命令:

dfx --log tee --logfile newlog.txt new hello_world

Specifying a user identity

例如,您可能希望通过运行以下命令来测试 devops 用户是否可以调用 accounts 罐的 edit_profile 函数:

dfx --identity devops canister call accounts modify_profile '("Kris Smith")'