Cycles Faucet is now LIVE!

Hi, Maybe stupid question here…
I claimed my cycles and executed
dfx identity --network ic set-wallet --force bla-bla-bla-bla…
and got this error…
Could not reach the server: error sending request for url (https://gw.dfinity.network/api/v1/status): error trying to connect: tcp connect error: Host is unreachable (os error 113)
checking https://gw.dfinity.network/api/v1/status in a browser just hangs…
Is this my end (firewall) or is this old version of code or something going on with the network?
Any ideas?
Thanks!

Can you confirm what version of the SDK you’re running? dfx --version

It also looks like you may be pinging Sodium and/or referencing an old Sodium wallet.

I’m using dfx 0.6.26

I’d recommend upgrading to either 0.7.2 or 0.8.0

1 Like

That Worked! Thanks!

2 Likes

So, I did some more experimenting. I was able to import the wallet into NNS and see the cycles.

Basically, what I did:

  • Provided the principal from my NNS app
  • Selected new wallet in the faucets app
  • was provided dfx identity --network ic set-wallet --force bla-bla-bla-bla
  • then went into the nns app and selected “create or link canister”
  • selected “link canister to account”
  • entered the wallet ID from above (bla-bla…) here
  • the canisters list on NNS shows a canister with the wallet ID and the 75 T cycles in it.

I assume now I can add my local identity principal ID as a controller here and then transfer cycles from this canister to others I’m deploying on the network. Please correct me if my understanding is wrong.

Or if this method is not suggested for some pitfall that I’m not yet seeing.

Regards

2 Likes

Just a quick note in case it may help others -

I had the same ‘NNS’ principle problem described here however, whilst I could see and add controllers to the wallet canister in NNS I could not deploy or control the wallet - got ‘only a controller/custodian can call this method’ all the time.

Curiously the solution turned out to be calling the ‘upgrade’ method on the wallet. The wallet accepted the upgrade and after that I am able to deploy/control as expected. dfx 0.8.0.

2 Likes

I am adding to this as mentioned by @davebland

So, basically after adding my local DFX identity principal as a controller to the wallet canister listed on the NNS, if I try to do something like “dfx wallet --network ic balance”, I would get a “only a custodian/controller can call this method”. The way to fix this is to run the following:

dfx wallet --network ic upgrade

You’ll get a “Upgraded the wallet wasm module.” message.

Post which if you query the balance, it should just work

1 Like

I’ve claimed my free faucet but while trying to view it in browser (wallet_id.raw.ic0.app) it says error 404 not found. Does anything changed?

but inside terminal dfx wallet --network=ic balance shows the 20T cycles.

Try raw.icp0.io instead. Context is here: [FOLLOW UP ON ITEM] New canisters will only be accessible through the icp0.io domain. Existing canisters will be accessible both through ic0.app and icp0.io

1 Like

Ohh Thanks :slight_smile:

I’m able to login successfully with wallet.raw.icp0.io but not getting below msg.

Register Device

If you are using DFX, use the following command to register your principal as custodian:

No when I’m copy pasting this code to my terminal I’m getting error.

WARN: The default identity is not stored securely. Do not use it to control a lot of cycles/ICP. Create a new identity with `dfx identity new` and use it in mainnet-facing commands with the `--identity` flag
()

I also created new identity but for that identity there is no wallet.
Please explain 1st command.

To use an identity with a configured wallet you can do one of the following:
- Run the command for a network where you have a wallet configured. To do so, add '--network <network name>' to your command.
- Switch to an identity that has a wallet configured using 'dfx identity use <identity name>'.
- Configure a wallet for this identity/network combination: 'dfx identity set-wallet <wallet id> --network <network name>'.
- Or, if you're using mainnet, and you haven't set up a wallet yet: 'dfx quickstart'.
navalega0109@LAPTOP-FF85ILPT:~/ic-projects$ --network 

There is no error. You get the warning because there’s safer options of storing your identity, but it’s not an error

The () is the expected output of the registration command and (in a very easily misunderstood way) indicates success

Wallets are linked to identities. It is possible to have multiple identities allowed to use the same wallet, but you have to manually configure the wallet to accept the new identity and then configure the identity to use the wallet.

To add an identity to a wallet, I suggest you first add it as another controller (dfx canister update-settings called with the current controller), and then you call add_controller on the wallet. (Side note: the wallet has its internal notion of a controller, and that is unrelated to the IC’s notion of a controller, which is why you add controllers in two different ways)
After all that you can dfx identity set-wallet on your new identity

If it is success then when again I try to access my wallet.raw.icp0.io it is again giving me /authorize page.
For ms it shows the cycles page but then again back to /authorize page with command to register device.
I tired dfx canister update-settings, but getting below error.

dfx canister update-settings
error: the following required arguments were not provided:
  --all

Usage: dfx canister update-settings --all [CANISTER]

Just tried it myself and I get the same result. Looks like response verification fails somehow… I’ll have a look, we probably have to update the wallet code…

You need to give the command a canister to target (plus probably --network ic) and then the operation you want to do. Have a look at the --help output of the command.

Can I use below command mentioned in tutorial? if yes then do I only need to replace WALLET_CANISTER_ID with my wallet ID? Please revert.

export WALLET_CANISTER_ID=$(dfx identity get-wallet)
dfx identity set-wallet --canister-name ${WALLET_CANISTER_ID} --network=https://192.168.74.4

Once you authorized your principal with the wallet (either with add_controller or authorize on the wallet), yes, you can just set the wallet