rmrk-team/rmrk-spec

RIP-006: Add EMOTE interaction

Closed this issue Β· 3 comments

RIP Summary

This proposal brings EMOTE interaction to the RMRK system. Emote interaction shows the caller's appreciation towards a particular Collection or NFT.

RIP Details

We propose to add EMOTE interaction as a new form.
The goal of this interaction is to give the ability to express positive feedback to NFT or Collection. Collection authors will get instant feedback on their art and it should motivate them to create more.

The possible format of a EMOTE interaction is 0x{bytes(RMRK::EMOTE::{version}::{id}::{emotion})}.

  • version is the version of the standard used (e.g. RMRK1.0.0)
  • id represents the id of NFT or Collection.
  • emotion Unicode of a selected emoji (e.g Unicode for party popper πŸŽ‰ is 1F389

Currently, we would like to support the following set of emojis:
πŸ€” , πŸ’–, πŸ‘ , 😘, πŸ’‘, πŸ‘€ , πŸŽ‰, 😊 , πŸ¦„ , πŸ™Œ , 🀯 , πŸ™

Examples

Suppose we have the following NFT:

{
  "collection": "0aff6865bed3a66b-VALHELLO",
  "name": "POTION_HEAL",
  "transferable": 1,
  "sn": "0000000000000001",
  "metadata": "ipfs://ipfs/QmavoTVbVHnGEUztnBT2p3rif3qBPeCfyyUE5v4Z7oFvs4"
}

To show appreciation towards NFT or Collection we call system.remark with the following parameter:

RMRK::EMOTE::RMRK1.0.0::0aff6865bed3a66b-VALHELLO-POTION_HEAL-0000000000000001::1F389

Open Questions

  1. Should the following standard support a bigger set or all available Unicode emojis?
    We think that keeping a small set makes parsing simpler and we would like to ensure that emojis are visible on all major operating systems.

Impact

Calling EMOTE with the same parameters acts as an undo operation.

Citing @Swader:

New idea I had about EMOTE: even number = not emoted, odd number means = emoted. 
So to remove a moon emote, you just send another moon.
Then to moon it again, you again send a moon.
This keeps things consistent
and we don't have to deal with keeping track of remove and add emotes 

I like this a lot, but how did you decide on these particular emotes to be first? Is there a most-commonly-used list somewhere? Being in crypto, I'd definitely add a moon and a rocket in there too at least, but I'd like to discuss the process of how we'd add support for more.

I like this a lot, but how did you decide on these particular emotes to be first? Is there a most-commonly-used list somewhere?

For now, why we decided it’s there’ve been emoji exploits in past so, not allowing all emoji, it’s quite limiting, but we more welcome when users have pre-chosen set and we went through - https://emojipedia.org/stats/ (science on emoji usage tho! :D)

Being in crypto, I'd definitely add a moon and a rocket in there too at least, but I'd like to discuss the process of how we'd add support for more.

  • It's just a set of emojis we've personally cherry-picked, but in implementation could be any emoji

Closed in #7