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.
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.
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.
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.
Auto-Scaling Storage (ATSS) for Dfinity Fungible Token Standard(DFT) details:
When will the ATSS be created?
Create the first ATSS when the DFTās transactions (txs) > 2000. It means that no ATSS will be created before the DFTās txs > 2000 to save cycles . (for example : you deploy a DFT for test)
Create the next ATSS when the current ATSSās storage size is not enough to store 1000 txs.
Whatās the fallback strategy?
If the creation of the ATSS fails, the txs will be stored in the DFT, txs will be moved to ATSS when the creation is successful.
Possible reasons for failure:
1)Unify the Account system, somewhat resembling the Ethereum Account Model, where users can use Account IDs to store ICP tokens, other fungible tokens, and NFTs.
2)Unify the generation rules or settings of the third-party wallets.
3)Build more functions for Internet Identity and NNS, such as a) The canisters can get the Account ID information of a userās ICP with the authorization by the user; b) NNS can act as a third-party and render the authorization of the transfer of ICP, thereby supporting more token standards.
Not sure if this thread is still live but if it is, what still needs to happen to arrive at fungible token standards? And is there a better place to get a big picture understanding of the various suggestions?
For one, the Sonic DEX launched last month, and they use the DIP20 standard.
Other DEXs like InfinitySwap are planning to launch soon, and I believe many of them are developing their own independent token standards.
At the same time, the SNS project (being developed by DFINITY) also requires a ledger canister, and the design of that should be coming out soon, as itās slated for a Q1 2022 release. Needless to say, a ledger canister design is essentially a token standard.
So yeah, a lot of work on this front, but no clear āwinning standardā that the community has coalesced around.
Dfinity Fungible Token Standard v0.4.0 is released
this release contains a large number of automated integration test cases to verify the reliability of the code. As the infrastructure of DEFI, reliability and security are the most important things