i wanna know how to get all canister principals. And which canister stores these canister principal?ds
My guess is ledger is the one creating the canisters. So proably ledger should have all canisters principals created.
AFAIK, there is no instance in the system that provides this information, at least not publicly and programmatically accessible. If there was, that would be rather bad, because some canisters might be intended to be private to their controllers, or their presence might be a private implementation detail of some other canisters, and they are not meant to be publicly accessible or observable.
So if there aren’t such public interfaces, how ic.rocks to get the canister principals and to rebuild the relationship between controllers and canisters.
thx, let me review the code of ledger canister.
Might want to also look at ic-rocks, I believe they have their code on github as well. They also have an API and you’ll probably find all the canisters there (with some extras like first seen, last updated, etc)