Goal
To establish a standard for human readable subnet names
Motivation
How many of you can name the first 5 characters of 3 subnets? The ones your canisters are deployed to? How about the European “BOB” subnet?
In other cloud ecosystems such as AWS or GCP, deployment regions, such as us-east-1
provide a human readable name that allows developers or teams to remember where their application is deployed.
On ICP, knowing the name of a subnet has several benefits:
- Performance: Being on the same subnet improves application inter-canister call performance
- Functionality: There are features such as composite queries that are only available if all involved canisters are on the same subnet. Additionally, when a canister creates a new canister through the management canister, that canister is created on the same subnet as the parent canister
- Migrations: Canister migrations are a current roadmap priority, allowing a developer to move a canister from one subnet to another.
- Degradation/Outages: At times, certain subnets experience outages or degraded performance. In these times, it helps to refer to a subnet by something other than
bkfrj
Potential Naming Schemes
Below I’ve listed a few rough ideas for human readable subnet names. This is just to get the conversation started, so feedback and additional naming scheme ideas are encouraged!
By Specialization & Type
Name subnets categorically by their specialization and type according to:
{subnet_specialization}-{subnet_type}-{incrementing counter id}
Each unique combination of subnet_specialization
and subnet_type
would reset the counter to start from 1.
Some examples:
fid-app-1
- A fiduciary, application subnet assigned counter id1
app-5
- An application subnet that was assigned counter id5
eu-app-2
- An european, application subnet that was assigned counter id2
sys-1
A system subnet that was assigned counter id1
Note: I’m biased towards this option, since it’s in-line with what most cloud ecosystems do and seems to work pretty well.
By theme/category
Keep subnet specializations and types, and replace the “counter” suffix with names from a certain category such as elements (app-iron
, eu-app-uranium
), crystals/minerals (fid-app-quartz
, sys-opal
), or some other category.
By community choice
Similar to before with {subnet_specialization}-{subnet_type}-{suffix name}
, but allow the community to choose the suffix. Each time a new subnet is added, have the NNS or another community elect a name for the new subnet.