ICRC-3 standard. Where to learn?

I would like to learn about the ICRC-3 standard. Where is the best place to start?

IMO the standard itself is pretty readable: ICRC-1/standards/ICRC-3/README.md at main · dfinity/ICRC-1 · GitHub

5 Likes

Did it get standardised? I see the ‘Accepted’ status, but the main README doesn’t list it among others?

There are a couple deployed canisters with icrc3

SHADOWMANTIS (5xwlp-hiaaa-aaaag-qjqqa-cai)
ZORK (ckgsm-dqaaa-aaaah-adyca-cai)
ICDV (ryjl3-tyaaa-aaaaa-aaaba-cai )

Come to mind

You could probably play with those canisters and see how they work.

Implementation: GitHub - PanIndustrial-Org/icrc3.mo: ICRC3 in motoko

Video: Building an ICRC-1,2,3,4, and 10 Fungible Token Series - #13 by skilesare

4 Likes

@skilesare I have tried to compile (dfx generate) icrc3.mo with dfx 0.19 and I got the following error

Stderr:
/home/ildefons/neutrinite/icrc3.mo/src/archive/lib.mo:129.50-129.56: syntax error [M0001], unexpected token 'system', expected one of token or <phrase> sequence:
  >
  seplist(<typ>,,) >
type or paste code here

This line correspond to:

    /// Deposit cycles into this archive canister.
    public shared func deposit_cycles() : async () {
        let amount = ExperimentalCycles.available();
        let accepted = ExperimentalCycles.accept<system>(amount);  //<----ERROR
        assert (accepted == amount);
    };type or paste code here

What is happening? I suspect the base package version specified in the mops file is not correct but I cannot figure out the right one

I think it requires dfx 20+