0.7.1 中的新功能亮点
0.7.1 版本包括 DFX 命令、Motoko、Motoko 基础库和 Candid 的新功能和修复。
新特性和功能
最重要的新特性和功能包括 DFX 命令的以下更新:
-
dfx canister sign
命令的更新使您能够对更新调用的`request_status` 消息进行签名。如果您使用
dfx canister sign
调用生成更新消息的方法,该命令还会签署相应的request_status
消息并将其作为signed_request_status
附加到message.json
文件中。 使用dfx canister send
命令发送消息后,您可以通过运行以下命令检查调用的request_status
:dfx canister send message.json --status
如果您使用
dfx canister sign
和dfx canister send
命令调用ledger
或governance
容器来进行交易或将代币作为两步过程,则此更改特别有用 . -
新的
deposit_cycles
和uninstall_code
管理容器方法也作为dfx canister
子命令公开。两个新命令是`dfx canister deposit-cycles
和
dfx canister uninstall-code`。 例如,您现在可以通过运行类似于以下的命令将周期从您的燃料费钱包发送到特定容器:dfx canister deposit-cycles 125000000000 hello_world
您可以通过运行类似于以下的命令来卸载已部署的 WASM 模块的代码:
dfx canister uninstall-code hello_world
-
新的
--no-artificial-delay
选项使您能够减少本地 Internet Computer 启动所需的时间。此更改将
--no-artificial-delay
标志添加到dfx start
和dfx replica
命令。 默认情况下,与 {sdk-short-name} 一起安装的本地 Internet Computer 副本具有人为的共识延迟,以模拟用户在网络环境中可能看到的延迟。 使用这个新标志,您可以通过运行dfx start --no-artificial-delay
或dfx replica --no-artificial-delay
来跳过启动本地 Internet Computer 时的内置延迟 命令。例如,您可以通过运行以下命令立即启动本地 Internet Computer:
dfx start -no-artificial-delay
但是,如果您使用此选项,则可能会增加本地 Internet Computer 副本使用的 CPU。
重大变化
{sdk-short-name} 版本 0.7.1 引入了对运行 dfx canister call
命令时使用的默认主体的更改。
根据您之前使用的 {sdk-short-name} 的版本,此更改可能需要更改您的程序代码或您在部署的容器中调用方法的方式。
-
默认情况下,燃料费钱包容器标识符不再用作消息调用者。
在 {sdk-short-name} 的某些先前版本中,
dfx canister call
命令默认使用燃料费钱包容器标识符作为消息调用者来执行查询和更新调用。引入了
--no-wallet
命令行选项,允许您绕过燃料费钱包容器标识符并使用当前选择的身份执行查询和更新调用。但是,使用燃料费钱包容器标识符执行“dfx 容器调用”命令会导致每个调用都被视为容器间调用,并且这些调用需要比需要解决的时间更长的时间。
在此版本中,
dfx canister call
命令默认不再使用燃料费钱包容器标识符来执行查询和更新调用。 如果您想使用燃料费钱包执行查询或更新调用,您可以运行类似于以下的命令:dfx canister --wallet=cycles-wallet-id call canister method