First time in crypto - need help to initiate

Hi to everyone. I’m assigned to a wallet project with crypto for first time. And I have not a tech lead to help me.

I need to use ckBTC in this wallet, and I was reading a lot about this in the documentation.

My problem is to configure and consume the minter and ledger canisters. What I do not quite understand is, is there a default canister that I can use? Or do I have to create the deploy of one? If so, how can I use it? Are there dependencies that I can use? Because if I have to create the ledger and minter Actor with their queries and updates, I don’t understand why there is a list of uses in the documentation.

I am really lost and this is delaying me a lot in the estimated time of my job. If someone could help me understand how to configure and consume this, I would be really grateful.

PS: I have read about Rosetta-api, but this is only for Ledger canister and it’s not recommended to use. If necessary, i have no problem in create the canister for both ledger and minter, but i only want to understand how this whole thing works and if there’s a safe and simplified way to use it.

Hi,

Welcome to the community! I understand how daunting it can be to start a new project, especially without a tech lead to guide you. To get started with ckBTC actors and become familiar with their configuration, I recommend using @ic-reactor/react if you’re comfortable with React.

For a practical example, you can check out the ckBTC wallet forum post here: Introduction: IC-Reactor/React for React Developers.

Additionally, you can find a detailed example page in this repository: ic-reactor Example.

These resources should help you understand how to configure and consume the minter and ledger canisters effectively. If you have further questions, feel free to ask.

Good luck with your project!

Hi, thanks for the response! I forgot to mention a important thing: this implementation is for an api to use from wallet backend. So this will be developed in a Node/express api. but i will read about these, everything helps.

You can use @ic-reactor/core library for that!

1 Like

Yeah, i readed it. A thing that is confusing to me is idlFactory and candid imports. It is always declared manually or is imported from some dependence? cause from this you create the Actor, and then you have to declare de Actor’s functions one by one, and in documentation the Ledger canister already have his own methods for query and update. This is what i can’t figure out.

Again, thanks for helping

1 Like

Candid works like a translator from other languages into a human-readable format and ultimately into JavaScript. It is used to interact with canisters on the Internet Computer.

The idlFactory and candid imports can sometimes be a bit confusing. In many cases, the IDL (Interface Definition Language) files are generated manually based on the canister’s interface. However, for common canisters like the Ledger, there are already defined methods for query and update in the documentation, so you don’t need to declare each function manually.

For example, when you use @ic-reactor, it simplifies this process significantly. The library provides pre-defined interfaces and utilities to interact with these canisters more easily, saving you the trouble of manually declaring all the methods. IC-Reactor offers an easy way to use actors directly in your frontend by fetching the candid interface from the canister, similar to how ABI works on Ethereum if you are more familiar with it.

Let me know if this helps or if you have more questions!

1 Like

Thanks for your time. It helps a lot. I don’t know if these is enought to my project, but ill try it and let you know later!