I’m using this DIP20 token as example: 72uqs-pqaaa-aaaak-aes7a-cai (Tendy)
here we can see this canister’s methods: Tendy Canister
but i couldn’t find methods like getTransactions or getBlocks.
DIP20 tokens uses the CAP pattern which is flawed and likely has exploits in it. In this pattern, the transaction history for many types of tokens are held in a single service. This creates a centralization point of failure and slows the rate of development down.
If you are creating a new token, I’d advise using the ICRC1 standard. You can find motoko implementations at GitHub - NatLabs/icrc1: A full implementation of the ICRC-1 fungible token standard. It includes the get_blocks/query_blocks and auto-creation of archive canisters. We are super close to having ICRC2 added to it and ICRC3 (a formalization of a transaction ledger) should be coming as soon as it is finalized.
yes, i’m aware of new standards. has been following token development on IC ecosystem. i was just curious about DIP20 & EXT token standards. there are sites like this: Tendy Transactions
which list token transactions. I was not able to find from where they are getting these when there is no query method for it. Did R&D from my side but not able to find. Specs of DIP20 on github says there should method for get_transaction
& get_transactions
but on dfinity dashboard ( Tendy Canister) these methods does not exist.
What am i missing here?
Tendy uses this I think: GitHub - Psychedelic/cap-motoko-library: The CAP (Certified Asset Provenance) Motoko Library
The CAP router is here: https://icscan.io/canister/lj532-6iaaa-aaaah-qcc7a-cai
You should be able to feed the trendy canister id in there somewhere to get the bucket for the trendy token and then you’d beable to query that bucket for transactions.
Exactly what i was looking for. Thank you!