How to copy a frontend canister?

I need for my project a Motoko (or Rust) function that copies a frontend canister. This is necessary to be sure that my canister does not change if the controller of the frontend to-be-copied re-uploads it.

Frontend methods are listed here. I have some difficulties to understand them:

  • What is authorize and other “authorization”/“permission”/“ownership” methods? For example, what is the difference between list_authorized and list_permitted? Is it about querying or uploading? (I guess that I don’t need them, because it’s apparently OK for my canister to be queried from any client and updated only from the creator.)
  • How to use batches to upload files?
  • Do I need to clear the frontend canister before uploading its new version?
  • Any other remarks?
2 Likes