Access control to subnets works like this (and has been working like this for a long time):
If you have a canister on a subnet you can create as many canisters on the subnet as you want. Simply use the management canister’s create_canister method through a canister on that subnet. This is what ic_cdk::create_canister does behind the scenes.
Otherwise you go through the CMC. The CMC has three lists/mappings of subnets:
List of default subnets. If you use the CMC’s notify_create_canister or cre…
I would consider all subnets public that are in the list of default subnets and/or in the list of subnet types to subnets. But AFAIK we do not have any established definitions of the terms
There doesn’t exist one, but given the above you can compute the list (by my definition) using get_subnet_types_to_subnets
and get_default_subnets
1 Like