404 when deploying to IC following static tutorial

Hello. New to IC. Following the tutorial at How to Deploy Your First Canister Smart Contract Using the NNS Dapp | by DFINITY | The Internet Computer Review | Medium

Charged up my NNS canister with cycles and Added Controller with my local principal.
Deploy works fine.

I noticed my canister cycles did not reduce but the status is Running and the storage is at 1.75MB.
The URL at https://g6jen-iqaaa-aaaap-abdfa-cai.ic0.app is a 404 from Nginx and the .io is a DNS error.

I’m a bit confused as it looks like something was been deployed, at least according to storage, but the startup cycles were not deducted–unless I’m misunderstanding and they were used during canister creation via NNS.

Maybe I have the URL format wrong. Any tips would be happily appreciated.

Hello :wave:

This tutorial is not up-to-date. Canisters are newly created on another domain name, respectively icp0.io. Your hello world is therefore available at following address: https://g6jen-iqaaa-aaaap-abdfa-cai.icp0.io

cc @diegop

1 Like

How about that.
Happy to say Hello, world to the ICP!

Also another gotcha I found is that removing the default controller from an NNS canister (after adding another) renders the canister useless. 3 ICP live and learn.

Thank you very much for the reply.

1 Like


That’s why NNS dapp prompts you for confirmation when you are about to remove the last controller with following msg:

This is the last remaining controller. If you remove it, nobody will be able to control the canister.

In rare use case, such as for example https://cycleops.dev/, it makes sense to remove any controllers to hands over any control.

Understood. It wasn’t the last controller. I removed the default controller that was attached when I created the canister. It still has the principal I added. Still unaccessible.

As you created the canister in NNS dapp, I am assuming that the “detault controller” is actually your NNS dapp principal (1). This principal can be found in the “Settings” page of the dapp: https://nns.ic0.app/settings/.

Now, I am also assuming that with the “principal you added” you mean your local principal (2), the one used by dfx.

Therefore, to gain control within the dapp again, what you would need to do is adding back the dapp principal (1) by running a dfx command on your machine with your principal (2).

I do not know well dfx but, I think the command line should be something like:

dfx canister --network ic update-settings --add-controller <dapp_principal_1> <canister_id> 


  • <dapp_principal_1> with the principal you find in NNS dapp
  • <canister_id> by your canister id

Again, assumptions and no dfx expert but, might do.

1 Like

100% worked. Thanks for the tip. :star_struck:

1 Like

Cool, glad to hear it worked out!

1 Like

Thanks for the heads up. Ill fix that.