The readme file: https://github.com/ethereum/EIPs/pull/2569/commits/3a0759c85750d9490b2b78ed1181d59f10323d7e
The reference implementation for ERC-1646 may be found in: https://github.com/ethereum/EIPs/pull/2569/commits/3a0759c85750d9490b2b78ed1181d59f10323d7e
It’s an ongoing protocol.
A set of interfaces to save an SVG image in Ethereum, and to retrieve the image file from Ethereum for universal tokens.
This set of interfaces allow a smart contract to save an SVG image in Ethereum and to retrieve an SVG image from Ethereum for fungible tokens, non-fungible tokens and tokens based on standards that will be developed in the future.
The interface set has two interfaces: one to save an SVG file in Ethereum and the other to retrieve an SVG file from Ethereum.
Typical applications include but not limited to:
A solution for storage of a fungible token’s icon.
A solution for storage of a non-fungible token’s icon.
A solution for storage of the icon/logo of a DAO’s reputation token.
The ERC-721 token standard is a popular standard to define a non-fungible token in Ethereum. This standard is widely used to specify a cryto gift, crypto medal, crypto collectible etc. The most famous use case is the [cryptokitty].
In most of these applications an image is attached to an ERC-721 token. For example, in the cryptokitty case each kitty has a unique image. While the token’s code is saved in Ethereum permenantly, the image attached to the token is not.
The existing solutions still keep such an image in a centralized server instead of Ethereum. When these applications display an image for a token they retrieve the token’s information from Ethereum and seach the centralized server for the token’s associated image by using the token’s information.
Although this is an applicable way to display an image for a token, the image is still vulnerable to risks of being damaged or lost when saved in a centralized server.
Hence we propose a set of interfaces to save an image for a universal token in Ethereum to keep the image permenant and tamper-resistant, and to retrieve an image for a universal token from Ethereum.
tokenId: for a non-fungible token such as an ERC-721 token or a multi-token such as an ERC-1155 token which has a member “ID” to specify its token type or token index our proposed interface assigns an SVG image’s file content to a string variable of the token’s contract and associates the SVG image to this “ID” number. This unique ID is used to access its SVG image in both a “set” operation and a “get” operation.
For a fungible token such as an ERC-20 token no such an ID is needed and our proposed interface just assigns an SVG image’s file content to a string variable of the token’s contract.
This is an ongoing project. We really need and welcome any help.