Fungible Token Standard [Community Consideration]

Summary

The Internet Computer does not have an official Token standard. It is up to the Internet Computer community to discuss and propose a preferred Token standard.

Status
Community Consideration

What you can do to help

  • Ask questions
  • Propose ideas

Key people involved

@ililic

Relevant Background

2 Likes

I think this is also a very important matter

2 Likes

That’s great! It’s finally time to talk about it!
Please speed up the process!
:grinning: :grinning: :grinning:

1 Like

Hey folks,

I wanted to let folks know (specially @senior.joinu who definitely put time and effort) that Igor Lilic (@ililic ) will be the person who manages this thread from the Foundation side. This project is clearly very early compared to other much more baked ones (see Increased Canister Storage), but I wanted to let people that I am working to get every thread spinning, engaged, and with the same clarity as the more baked ones.

In the meantime… please feel free to discuss, tell the community what you agree/disagree on from prioritization to implementatoin.

1 Like

I implemented a token standard (Rust & Motoko) and did a lot of my own thinking.

Of course, before implementing this token standard, I referred to a lot of existing codes, especially some discussions thoughts-on-the-token-standard, which gave me a lot of help. Thanks @senior.joinu very much.

References

-[1] Dfinity Developer Center: Canister interface

-[2] Dfinity Forum: thoughts-on-the-token-standard

-[3] Toniq-Labs: ic-fungible-token

-[4] SuddenlyHazel: Token-Standard

-[5] Dfinance-tech: ic-token

-[6] Plug: Token-Standard

-[7] Ethereum: EIPS-EIP20 & EIP667 & EIP777 & EIP1820

-[8] Candid

-[9] Why are ERC20 allowances necessary?

-[10] sudograph

-[11] Dfinity Self Describing Standard

7 Likes

Great job, @witter !

2 Likes

Before the Fungible Token standard, I think this is more important. The Identity system needs to add an option to choose whether to use the same(unified) address(Principal ID) or a different address(Principal ID). The Identity system needs to add an option to choose whether to use the same(unified) address(Principal ID) or a different address(Principal ID)

2 Likes

I agree this seems like a major issue that needs to be solved.

We wrote a spec regarding fungible token standard together with Daniel from fleek: https://github.com/dfinance-tech/ic-token/blob/main/spec.md, it preserves the core interfaces of ERC20, we also added fee logic for update calls, storage for history txs, and corresponding query interfaces. Review suggestions are welcomed. :slight_smile:

1 Like