Please help provide some suggestions or recommend

Hey bros, I am a new IC developer.

I browsed the official documents. Now I have a few questions.

  1. Does IC have no test chain? Similar: sepolia
  2. I saw that IC Rosetta can directly obtain data on the chain, but you must build a server yourself. Is there no node service provider like Alchemy?
  3. I want to monitor the data changes on the chain in real time. Is there no websocket interface?

Please help provide some suggestions or recommend some servers.

Thank you very much.

No. You can either run locally or go to mainnet directly. You can set up a staging environment on mainnet if you’d like to

Rosetta is for tokens only. All other data must be fetched from the chain itself

No, you need to poll regularly

Thanks for your reply

Rosetta is for tokens only. All other data must be fetched from the chain itself

This means that if I create another icrc2 token and get the historical transaction records, I need to save the transfer log in canister instead of directly parsing the original data on the chain, right?

Extra question, What payment gateway does ICP recommend? If not, I’ll just have to do it myself.

I don’t quite get what you mean with a new token and parsing historical records. When you create a new token you don’t have any historical data, no?

As for payments it’s still all DIY as far as I know. Would be very happy to be corrected…

If newcomers cant deploy canisters, it means network is kinda useless. Its my third or fourth time trying to write deploy, every time there are errors, this time: Error: Cannot find dfx configuration file in the current working directory.
Only 6 months ago we got easy to build token canisters (NOT from Dfinity), i wonder how long it takes for people to build apps the same way. Seems Dfinity dont care as long as ICP price dont crash to 0. Most non user friendly chain so far.

this is kind of unrelated to the initial question, but in general you share more information about your project structure and the canisters that you are aiming to deploy. also it would be appreciated to know what operating system you are using in order to be able to help you out.

that is certainly not true. it would definitely be more productive if you can share more detailed feedback about the struggles you face(d). otherwise it will be hard to improve the user as well as the developer experience. any valuable feedback is appreciated and will be recognized.

If there is an existing icrc2 token, I want to get all its transfer logs directly from the chain to count the number of holders. How should I get it?

You can make token there: https://icpex.org/createToken
Token shoud automatically show up there (holders/transactions): IC Explorer
Token can be added there too, but need to ask in Discord (holders/transactions): nftGeek - Analytics tool for IC NFTs

Maybe I have a lot of difficulties.
For example:

  1. I want to use Rust to create a canister of icrc2 token. I only see the “init_arg” method in the document, but I also want to extend some other functions in canister. My idea is to code a *.rs to implement all the functions of the icrc2 protocol, but I don’t know if there will be any errors in doing so. I hope I can use the trait feature in Rust to complete the custom icrc2 token. This is the first difficulty.

  2. I want to get the transfer logs of any token on the chain at will, but I can’t find any other way except Rosetta API. I can’t build a Rosetta API for each token. So I don’t know where to get these public chain data directly, this is my second difficulty.

After a few days of study, I feel that the development/learning difficulty of ic is much higher than other chains. There is little information and it is not detailed.

It makes me feel at a loss :joy:

Hi 0xLenny!

  1. You could use this ICRC ledger Rust implementation as a basis for your token ledger and extend it with additional functionality you need (or remove support for legacy functionality that you don’t need!), or even directly deploy a ledger using the (at time of writing) latest ICRC ledger suite release and the instructions here (these instructions don’t yet point to the recently-added releases in the ic repo).
  2. On the ICP platform, transactions for each token is stored separately in their own ledger canisters, so there is no central place to retrieve all the transactions of all the tokens from. E.g., for the ICP token you can query the query_blocks or query_encoded_blocks endpoints of the ICP ledger to get all the transactions. For ckBTC or ckERC20 tokens, you can similarly call e.g., the icrc3_get_blocks endpoint of the ledger to get the transfer logs. The ICP Dashboard links to the aforementioned ledgers, as well as tokens for SNSs (see Chain Fusion and SNS links in the top-right of the page), and for other tokens you would need to find the ledger canister ID in order to list the transactions. E.g., the Kong Swap Stats page list some tokens on ICP that are neither Chain Fusion nor SNS tokens.

EDIT: Added missing link to ledger deployment instructions

3 Likes

Thank Dfinity Teams for replying, I will try the above method. :hand_with_index_finger_and_thumb_crossed: