Skip to content

Latest commit

 

History

History
65 lines (41 loc) · 2.96 KB

mep-1002.md

File metadata and controls

65 lines (41 loc) · 2.96 KB
  MEP: 1002
  Title: Nestable Non-Fungible Tokens Tied to IoT Geolocations
  Status: Draft
  Type: Standards
  Created: 2023-04-20

MEP-1002: Nestable Non-Fungible Tokens Tied to IoT Geolocations

Abstract

This MEP proposes a new standard for Nestable Non-Fungible Tokens (NNFTs) tied to IoT geolocation using the h3geo algorithm. The proposed NNFTs are capable of mapping real-world geographical locations to tokens, and can be nested within other NNFTs.

Motivation

Geolocation is becoming an increasingly important aspect of modern applications, and there is a growing need for geolocated tokens. However, current non-fungible token (NFT) standards do not support mapping real-world geolocation data to tokens.

This MEP proposes a new standard for Nestable Non-Fungible Tokens (NNFTs) that are tied to geolocation using the h3geo algorithm and can be parent-governed for nested token management.

To guide the IoT miners to deploy the network and also to prove the geolocation for the miners and sensors, NNFTs can provide privacy protection for a better decentralized IoT infrastructure.

Specification

Required interfaces

This MEP builds upon the existing EIP-721 (NFTs) and EIP-6059 (Parent-Governed Nestable Non-Fungible Tokens Metadata URI Scheme). Therefore, the required interfaces for this MEP are:

Token Properties

Each MEP1002 will be uniquely identified by a h3geo coordinate, which is a 64-bit integer.

Each MEP1002 will be parent-governed, allowing the parent to manage the nested tokens within.

Metadata URI Scheme

The EIP-6059 standard for Parent-Governed Nestable Non-Fungible Tokens Metadata URI Scheme will be used for MEP1002s created using this protocol. The following attributes will be included in the metadata URI:

  • parentTokenId: The parent MEP1002's unique token ID.
  • geolocation: The h3geo coordinate associated with the MEP1002.

Solidity Interface

This MEP introduces a new interface, MEP1002, for the Nestable Non-Fungible Tokens Tied to Geolocation. This interface inherits from EIP-6059 with the following modifications:

/// @title MEP-1002
pragma solidity ^0.8.16;

interface IMEP1002 /* is ERC6059 */ {
    // Returns the h3geo coordinate of the MEP1002.
    function geolocation(uint256 _tokenId) external view returns (uint256);
}

NOTE: The actual situation may be more complex, for specific details please refer to https://github.com/MXCzkEVM/core-contracts/blob/main/contracts/token/MEP1002Token.sol

References