我正在使用actor classes
动态创建的motoko应用程序。如何使用dfx
.
使用dfx deploy
它时只升级静态actor
容器,而不是我动态创建的任何actor classes
.
更新1:
我发现IC
管理容器可以使用 webassembly 字节在其他容器上安装新代码,但不确定如何获取新代码来更新参与者类实例
对已部署的所有动态创建的参与者类进行更新的正确方法是什么?
例子
主界面
import A "ActorClass";
import Array "mo:base/Array";
import Cycles "mo:base/ExperimentalCycles";
actor MainCanister {
var created_canisters : [A.ActorClass] = [];
public func create_player() : async A.ActorClass {
let canister : A.ActorClass = await A.ActorClass();
created_canisters := Array.append(created_canisters, [canister]);
return canister;
};
};
ActorClass.mo
actor class ActorClass() {
}
第 1 步:部署
MainCainster 已按预期安装
第二步:调用create_player
函数
创建了 ActorClass 的实例/容器
第 3 步:使用新的/更改的功能更新 ActorClass
第 4 步:重新部署
只有 MainCanister 被更新,没有任何 ActorClass 实例