Hi all I wanted to start a conversation and gather interest for developing a multi-token standard contract. This would be very similar to the NFT and FT standards that have been developed. The principle motivation would be to be able to give wallet devs, and smart contract developers a standard to build contracts that support different asset classes and that can be batch swapped. This would have a similar impact to erc-1155 and the Ethereum ecosystem.
Summary
Having a single contract represent both NFTs and FTs can greatly improve efficiency as demonstrated by Enjin Coin. The ability to make batch requests with multiple asset classes can reduce a many transactions transaciton to a single transaction to trade around both NFTs and FTs that are a part of same token contract.
Motivation
We already have a standard for NFTs and FTs and have tackled the perhaps trickest issue which is account storage management. This seems like a nice next logical step towards building a great ecosystem that supports the many uses cases of multi-token smart contracts.
Taking a nod from @mattlockyear Iâll lay out the same sort of ground logic that was involved in the NFT Standard discussions.
Goal
Soft consensus here on the interface and high level architecture, then a migration to Github for impls.
Rules of Engagement(shamelessly cribbed from the NFT Standard discussion):
Whatâs needed:
- Bring all ideas to the table
- Look at existing patterns and solutions
- choose/generate a solution that satisifies the Near ecosystem needs
Hereâs what we donât want
- promoting a particular approach
- not listening to others
- trying to âownâ the standard
- starting my own standard
Background
EIP-1155 : ERC: Multi Token Standard ¡ Issue #1155 ¡ ethereum/EIPs ¡ GitHub
Example of an NFT Series : GitHub - near-apps/gnr8
Things from the NFT Discussions: Improved NFT Standard ¡ Discussion #171 ¡ near/NEPs ¡ GitHub
Things from the NFT Discussions: NFT Standard Discussion
Discussion Starters
-
Standard interface for a MultiToken Standard
Deal with storage should we follow the same pattern in NFT and FT standards?
Keep the interface the same or at least 1-1 corresponding with erc-1155 for bridging ? -
Suggested architecture and reference implementation that tackles how to:
deal with token type assets FT, NFT, ⌠?
deal with unique identifiers for token ids across classes/namespacing ?
deal with wallets
These are just a few questions to get the mind going, feel free to comment and drop thoughts and concerns, or things youâd like to see.