Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NUT-06: Add "MINT_ICON_URL" Field for Mint Profile Images #130

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

swedishfrenchpress
Copy link

Suggestion to add a mint_icon_url field to allow mint operators to include a profile image. This feature enables applications to index and display the image, making it easier for users to identify the mint.

The Fedimint protocol provides a similar feature with the federation_icon_url. Following their naming convention, I propose mint_icon_url as the metadata field.

Below is a visual example of how an app might index and display the mint metadata fields. The profile icon can be a useful addition to the existing options.
mint-profile-example

@f321x
Copy link

f321x commented Jun 27, 2024

Maybe another feasible way to serve icons would be as base64 encoded webp ("MINT_ICON_B64"). This is the way Robosats currently implements icons in the frontend:

  paypal: {
    title: 'paypal',
    image:
      'data:image/webp;base64,UklGRpgJAABXRUJQVlA4WAoAAAAQAAAA4AAA4AAAQUxQSPMFAAABoAQAkCFJiupZ27Zt27Zt27Zt27Ztz+7ZXnvPg0bF+bIqKiK+ETEB4N7UPbaFP3zmxU8fP/z2y4/Cr585tHX5zBHdGpXNHt8CjnPtjEY+7XefnF4zqkXhBJz4RkUix4HvTsxsndPHQtgW5PztmUnV4nneQmQ/6sr4Yj4vq2bz9/cnq2vE9CrrDorx+dJi3lQQRflez/geNFgWiG9mpvaczdJA/G1RKo95Tx6IP0+I6yWxIySC+H1DDymIUt2b0jM6igWf1fKKBXLB4GSfN5wXDOKBeF5gvRQN3kzmAelt2eB7yenVRek+SEJurHjwejxqe+SDB8OIfS4gnEkrXlBCdlNSpVDE7zJR6ikjvOAjtFJI2IPQDSm9Tk4m7Ccp4WIy2VHMkRmpNJMTLqEyVVC/JiZyVFDYj8gPkrpDI3lQUqEsJCqjqAeQGCSroyQ2yup1GIUHssKcBGJFCKs5gQIo7HEE2ktrPYF50jpF4Jy07hF4Ia0v3ZcWpf3QfXXE9dR9o8X1xH27xPWt+z4V10eui+8X13XXlURxH3ZdD3mtdt1yeY133TV5tXdb2DsxBQL/UsZt2VDOdsAfQMRQcrc1FRQi2gF/6JnltimyQsTgR2ncdlhc6I9Yns5d38krgPjbjIQuShqSlx8R8UlL91RCcQfsvyEeSuWWgfLy478+q+aSDYLDwDB3hEsOcUWYC2JEiCtk/yfcHsO5/Cj9TT7H2okPZzo2V352e6fOyA9/y+eM9UwB+F4sR9LYGsCJjtRGFUZkdWKUDnCXEzuVECrgwCdKwG3m4kdrISqNseKoxlHGuuvhQ2PL9GDnMnVVDzjEkO+dIo4byoqKfOsz01gTmNPMZFU0M3NIFePMfKuK9UYS2ao4ZaQCqjLcSH9dfG1kvS6eGbmni9cmYv6mizcm8qIuX5hoo4zvTcxRxkcmTivjqgHrqTL2G0htK2OZgZqozBEGRmijuYEd2ihk4GNl+OP9v7jRyvgC/n8xVOZeA121MdrAEm1UNXBFGdGJ/p/1Thnh8P8zozIXGGikjXoGJiojMqGBA8q4AAa/VsZQA4mDyshmoDzq8j0w2E8ZY02s1UUoq4k7urgCBmP+qotOJvKgKt/GN9FaF4vA5CxVBLIbOamKA2D0iSpKGEkV0sQpMFoDFRkqZWa4Jg6A2W2KiMpl6ENFLACzsf16eJLIUFHUY3Mw3EUPB8D0YjW8TGXskhZCDcC077UWFoHxTKjE67HMNVTC4zRgfoIOfi0GDu5Xgb8+OPmVBkIdwclEAQXYvcHRcij/UG9wtq/8/B3B4TXi+6UuOH1beg+LgNMxfhHe1dTgeC4UfWheTHC+leie1QE3zpTcnhTgyhNye9gYXPpYalFzE4JLk6PM7X05wLXVRGafKgEuHiaw4KFS4Oqt4vp5eU5w+Qeysu/1SghujxMpqW9n5QeChVHK9kczi1tAspOMXu3rlRnILhJP8POtvQtYQPmiYOzXN9YNrJQYqPteCeT3R/eOrhzTpnQKCzwxo81Z5NVVUyf88/ixI4f07dq6QeUiWRKGgbfWR74/65oAWBzHln9MTGByH1eRdYHNL7nqCGwmDDB1HPgsg0yXZ6Q3U899jKxi6ggweoupsYz4fmWqBiM5kWc7FSMtmHpsMTKdqZPA6DGmZjFiPWSqNSPJbabyMFIVef4tBiNDmLoDjG5mai0n7zPVj5E4EUyVZ6QQ8hxKxEhHpr4BRhcwdZCT80xNYsR6xVRjRjLYTGVhpB7y/NbHyFimrgCjeygFKS3l5BNKfkrdOPmWqeKcnCQUCBGKjsdJK0J+JPwJcOo7wdIOViDBUY5G8gJWq1tBdmoxAwBJi1cgWOV3Sqn5oZkDCT+zZNSc0hmQ8TRKc4V0lFI7If1AKb+MkoUIRcSUUWUkHA4yHkRpg5A2URoopAeUKskoZiShYDIZFUDC34OM21M6IqR5lKYI6SylpjKynhOyM8koLRJ+aMmoNqVdIONhlBoJaSShez4hVaTzU14QsnWVytsKIOb0X9C4kA0YBgBWUDggfgMAAJAgAJ0BKuEA4QA/EYi6Vj+prKOmttkj8CIJY27gwgP6BjAXgCAAPwz7wD5AE7hXERVLzlE539Im2n54DTYN6Y/ymTHg6CgNWmt8k/eV43Fo1fx6qqqcBKXRFV0Am60zMzMzQprQbX7x28p6c/V4Le7w2qxlTIBtUv6QHYncz2PyZAxuUMZjQXQb5Jru5JTRKQB5KiA7MWKrq4ksRzqb53BBsel2Bw25bve2yfY3RO//ywV+GAgvi1Ptww4BFf4672iz4aSu63kCbe6IC3+SxJXdqpHM/unwZMN4ZvAlNqESPJXreffz/u6JGloJ4/t2eCHVOFmrm2KqqpBSqbOxBQfFzaa3yTmbit4UzMxIAPzGL8crFAE8aeZAqGATZ8I/AjMOhq/xb5/9yOJ7/n3G+xpiQnPO1BTWcCs1kgAAiCSCI3gZfoYmkAhePABWF0xmwLUY6fVFp4s6wYEd7qhRLqENC1L2Urf47PSMXNLdCfaGolO1XAxYX9NOe13hRsHEMYKA0x8yfbqS+zmUDVpQ74Q8y0IuWei44MNTjHXJ5IUbvI3OFX8CPxQXr8ft6htTh5B2aJEOaLcQNeQeRxemwVNtpe3GLoW745uT0vWDZ2Oh6K3LBRZtaCISOdmcqUDCQt/pSjRDkmjVHoWEkg94JV+IqT/yS1DZhfn1/CfUE1eqIim9lw4nswzGMtGLSs7GBE5mZTh8XmHPlrWoYoywptmmqmtxyshCR7zvcgjC+8DTmm/touWkh9pbM5m4pjgGpgf2QNHJqnQMnutnmGGYwBRVU/GK6Deyac/qWxAKRoITfKSfKopzQqZ69IUBL+kSY0ZcwAsr1YoVoLQzeR8BjInkqPY6aGHWgGGABGYR1mDvMAVhno6Wy+typ6ZpXybntBYKTAjALWsAfeFb9nkxMjRmIegAnYNcVcBUJmU9SrKBK7arQBz0NNvIRfyQTugq8asHH+CdxbcYFhy8IVBTc4j5gw/xybR00DOFpccgck5G3ANGXhVI6YCND0/mWrJvUdvEJerlo8zFm4EKjRk1/zcSCEC/biAxONNuwXvG0ACPoF673oNEpPZoeoOdBG2yzgW14TruW5N6CAWJf0h3iH3QMD9iGi7i6byrBa6U9qSkaFebLExtbpS2xM6yMgttKtrIfIynGlYDZkGmCc8+/LaJfhoZSu3XWHs6AAAAAA==',
  },

There is also a script to generate the webp icons here:
https://github.com/RoboSats/robosats/blob/main/frontend/src/components/PaymentMethods/README.md

06.md Outdated Show resolved Hide resolved
@callebtc callebtc marked this pull request as ready for review July 26, 2024 09:58
Copy link
Collaborator

@thesimplekid thesimplekid left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK 51ca292

@thesimplekid
Copy link
Collaborator

implemented in CDK cashubtc/cdk#282

@thesimplekid
Copy link
Collaborator

thesimplekid commented Aug 24, 2024

To avoid making this a breaking change we should note that this is an optional field that may not be included.

@prusnak
Copy link
Contributor

prusnak commented Aug 25, 2024

The Fedimint protocol provides a similar feature with the federation_icon_url. Following their naming convention, I propose mint_icon_url as the metadata field.

Their naming conventions prefix all fields with federation_ while NUT-06 does not, so I think better key would be just icon_url.

@callebtc callebtc changed the title Add "MINT_ICON_URL" Field for Mint Profile Images NUT-06: Add "MINT_ICON_URL" Field for Mint Profile Images Aug 29, 2024
@@ -39,6 +39,7 @@ With the mint's response being of the form `GetInfoResponse`:
}
],
"motd": "Message to display to users.",
"mint_icon_url": "https://mint.host/icon.jpg",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"mint_icon_url": "https://mint.host/icon.jpg",
"icon_url": "https://mint.host/icon.jpg",

@@ -88,6 +89,7 @@ With the mint's response being of the form `GetInfoResponse`:
- `description_long` is a long description that can be shown in an additional field.
- `contact` is an array of contact objects to reach the mint operator. A contact object consists of two fields. The `method` field denotes the contact method (like "email"), the `info` field denotes the identifier (like "[email protected]").
- `modt` is the message of the day that the wallet must display to the user. It should only be used to display important announcements to users, such as scheduled maintenances.
- `mint_icon_url` is the URL pointing to an image to be used as an icon for the mint. Recommended to be squared in shape.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- `mint_icon_url` is the URL pointing to an image to be used as an icon for the mint. Recommended to be squared in shape.
- (optional) `icon_url` is the URL pointing to an image to be used as an icon for the mint. Recommended to be squared in shape.

@prusnak
Copy link
Contributor

prusnak commented Sep 2, 2024

@prusnak
Copy link
Contributor

prusnak commented Sep 3, 2024

superseded by #160 (which also resolves conflicts after #159 has been merged)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs implementation Needs a reference implementation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants