rmrk-team / rmrk-spec

The RMRK NFT Specification
GNU General Public License v3.0
94 stars 35 forks source link

RIP-008: Mint to recipient #15

Open Swader opened 3 years ago

Swader commented 3 years ago

RIP Summary

Add ability to mint an NFT directly into someone else's account without having to MINTNFT + SEND. Without this, transferable === false is pointless because you cannot give non-transferable badges to someone else.

Examples

The proposed approach is to add a new field to the end of the MINTNFT interaction which would signify the recipient.

Instead of:

0x{bytes(rmrk::MINTNFT::{version}::{html_encoded_json})}

We would have

0x{bytes(rmrk::MINTNFT::{version}::{html_encoded_json}::{recipient})}

Concretely, if we have the MINTNFT operation of:

rmrk::MINTNFT::1.0.0::%7B%22collection%22%3A%220aff6865bed3a66b-DLEP%22%2C%22instance%22%3A%22DL15%22%2C%22name%22%3A%22Dot+Leap+15+Promo+NFT%22%2C%22transferable%22%3A1%2C%22sn%22%3A%220000000000000001%22%2C%22metadata%22%3A%22ipfs%3A%2F%2Fipfs%2FQmavoTVbVHnGEUztnBT2p3rif3qBPeCfyyUE5v4Z7oFvs4%22%7D

With a recipient of HviHUSkM5SknXzYuPCSfst3CXK4Yg6SWeroP6TdTZBZJbVT it would become:

rmrk::MINTNFT::1.0.0::%7B%22collection%22%3A%220aff6865bed3a66b-DLEP%22%2C%22instance%22%3A%22DL15%22%2C%22name%22%3A%22Dot+Leap+15+Promo+NFT%22%2C%22transferable%22%3A1%2C%22sn%22%3A%220000000000000001%22%2C%22metadata%22%3A%22ipfs%3A%2F%2Fipfs%2FQmavoTVbVHnGEUztnBT2p3rif3qBPeCfyyUE5v4Z7oFvs4%22%7D::HviHUSkM5SknXzYuPCSfst3CXK4Yg6SWeroP6TdTZBZJbVT

Impact

Swader commented 3 years ago

Will be closed in #27