0.9.2 中的新功能亮点
0.9.2 版本概述:
由于 dfx 0.8.4 以来的重大更改,请务必查看链接:0.9.0-rn[0.9.0 Release Notes] 并按照说明进行操作。
对 DFX 的更改
新功能:验证 Candid 和 Motoko 稳定变量类型的容器升级安全性
新部署的 Motoko 容器现在在 Wasm 模块中嵌入了 Candid 界面和 Motoko 稳定签名。
dfx deploy
和 dfx canister install
会自动检查
1)Candid接口在升级和重装模式下向后兼容; 2)升级模式下Motoko稳定变量类型的类型安全,避免意外丢失数据;
详情参见 升级兼容性。
新功能:跨构建命令的统一环境变量
使用自定义构建工具的三种容器类型——“assets”、“rust”和“custom”——现在在构建任务期间都支持相同的环境变量集:
-
DFX_VERSION
- 用于构建容器的 DFX 版本。 -
DFX_NETWORK
- 正在构建的网络名称。 通常是`ic`或`local`。 -
CANISTER_ID_{canister}
- 在dfx.json
中注册的容器{canister}
的容器主体 ID。 -
CANISTER_CANDID_PATH_{canister}
- 你的容器依赖项中容器`{canister}` 的 Candid 接口文件的路径。 -
CANISTER_CANDID_{canister}
(已弃用)- 与CANISTER_CANDID_PATH_{canister}
相同。 这是为了向后兼容“rust”和“custom”容器而提供的,将在 dfx 0.10.0 中删除。 -
CANISTER_ID
- 与`CANISTER_ID_{self}` 相同,其中`{self}` 是_此_ 容器的名称。 -
CANISTER_CANDID_PATH
- 与`CANISTER_CANDID_PATH_{self}` 相同,其中`{self}` 是_此_容器的名称。
新功能:支持本地分类帐调用
如果您安装了 ICP Ledger(请参阅 Ledger 安装指南),dfx ledger balance
现在支持“dfx 账本转移”
--ledger-canister-id
参数。
一些例子:
$ dfx ledger \
--network local \
balance \
--ledger-canister-id rrkah-fqaaa-aaaaa-aaaaq-cai
1000.00000000 ICP
$ dfx ledger \
--network local \
transfer --amount 0.1 --memo 0 \
--ledger-canister-id rrkah-fqaaa-aaaaa-aaaaq-cai 8af54f1fa09faeca18d294e0787346264f9f1d6189ed20ff14f029a160b787e8
以区块高度发送的转移:1
新功能:`dfx ledger account-id` 现在可以计算容器地址
dfx ledger account-id
现在可以计算主体和容器的地址。
该命令现在还支持分类帐子帐户。
dfx ledger account-id --of-principal 53zcu-tiaaa-aaaaa-qaaba-cai
dfx ledger --network small02 account-id --of-canister ledger_demo
dfx ledger account-id --of-principal 53zcu-tiaaa-aaaaa-qaaba-cai --subaccount 0000000000000000000000000000000000000000000000000000000000000001
新功能:在失败的情况下打印完整的错误链
现在,所有“dfx”命令都将打印导致问题的完整错误堆栈,而不仅仅是最近的错误。 例子:
错误:子帐户“00000000000000000000000000000000000000000000000000000000000000000”不是有效的十六进制字符串
造成:
奇数位数