What is the established development life cycle on IC?

Can someone provide his steps from creating a dfx project, write code, test it, deploy it to prod?

As of my understanding there are no test nets running and devs use dfx to start a local replica. All good until you need to interact with different types of canisters that are not present on your local network generated by dfx.

What is the best approach of having an identical ic network ledger/nns/etc canister running on your local network and how can you interact with it from motoko?

There is a lot of confusion involving this interaction, I see people talk about using rosetta / using github libs with vessel, manually deploy a wasm file downloaded from somewhere not very specific. And if you manage to find a way of using any of these approaches you seem to be required to do further configs to these canisters using dfx calls.

For example I’m using a docker image(Your IC Starter: Dockerfile with ledger and NNS installed) that was made public by infinity swap and when I try to call the function from my terminal using

fx canister call --query “rkp4c-7iaaa-aaaaa-aaaca-cai” get_icp_xdr_conversion_rate

I run into this error

Error: The Replica returned an error: code 5, message: “IC0503: Canister rkp4c-7iaaa-aaaaa-aaaca-cai trapped explicitly: Panicked at ‘icp_xdr_conversion_rate is not set’, nns/cmc/src/main.rs:258:10”

When I try to call the function through candid ui by calling a func in my main actor that calls (bare with me) an actor(“rkp4c-7iaaa-aaaaa-aaaca-cai”) I get this error

Fail to verify certificate

I believe these steps are mandatory to be documented and not have such crucial info split among forum/discord/github/docs.
I also have a big confusion of how should I develop and test my frontend for a functionality that uses internet identity as being on a Ubuntu machine, not having biometrics or any other compatbile security keys.

Anyway, I would appreciate if someone could tell me/us how we can mimic the ic network locally. Thank you!


Working on this but would love to have your feedback on docs etc.

I don’t know which docs you are referring to :smiley:

This post was flagged by the community and is temporarily hidden.

Maybe a new network in your dfx file is needed. If you are accessing with the agent you may need fetch root key(). I don’t know what dfx uses for that, but if it trying to use the main net key with your docker address it may be confused.

Can you elaborate on what this process means? Thank you

This post was flagged by the community and is temporarily hidden.

1 Like


Make sure you don’t do this when talking to the IC. It’s only for development.

1 Like

Hmm, where do I need to make updates if I’m having this problem in the candid ui?

This topic is temporarily closed for at least 4 hours due to a large number of community flags.

This topic was automatically opened after 12 hours.