Skip to content

Commit

Permalink
0111
Browse files Browse the repository at this point in the history
  • Loading branch information
YangIsCoding committed Jan 11, 2024
1 parent 2a5a2d2 commit 7a68d3e
Showing 1 changed file with 6 additions and 6 deletions.
12 changes: 6 additions & 6 deletions ERCS/erc-8017.md → ERCS/erc-7593.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
---
eip: 8017
title: nft synthetic evidence
eip: 7593
title: NFT synthetic evidence
description: Based on the ERC-721 and combines multiple pieces of evidence generated on the blockchain to create a synthetic evidence.
author: Pin Yang Chen (@YangIsCoding) <allanustw@gmail.com>
discussions-to: https://ethereum-magicians.org/t/add-erc-erc-8017/17986
discussions-to: https://ethereum-magicians.org/t/add-erc-erc-7593/17986
status: Draft
type: Standards Track
category: ERC
Expand All @@ -13,18 +13,18 @@ requires: 721

## Abstract

We are looking to establish a proof on Ethereum based on [ERC-721](./eip-721.md), which demonstrates certain digital asset permissions. The holder of these permissions can use a new function, share(), to share this proof. After using share(), the original NFT owner does not lose their permissions. The shared party will receive a new NFT token with a TokenID incremented by 1, but all other parameters remain the same. Therefore, I would like to propose a new Ethereum proposal, [EIP-8017](./eip-8017.md), to develop such a function.
We are looking to establish a proof on Ethereum based on [ERC-721](./eip-721.md), which demonstrates certain digital asset permissions. The holder of these permissions can use a new function, share(), to share this proof. After using share(), the original NFT owner does not lose their permissions. The shared party will receive a new NFT token with a TokenID incremented by 1, but all other parameters remain the same. Therefore, I would like to propose a new Ethereum proposal to develop such a function.

## Specification

The Standard defines a set of operations for minting, sharing, and managing NFTs that represent reports generated. Each report NFT MUST contain metadata detailing the report's name, the starting time point of the report, and the ending time point of the report, following the structure defined in the IERC_8017 interface. The minting function SHALL create a new NFT and assign it a unique token ID, ensuring each report is technically distinct. Although the content (metadata) of each report may be the same, when the share() function is used to share a report, the system will copy the report's metadata to the target address, and the newly minted NFT will have a new, incremented token ID, thus maintaining the uniqueness of each NFT. Sharing of report NFTs SHALL be facilitated through a dedicated function, allowing transfer to specified addresses while maintaining traceability. Implementations of this standard MUST be compliant with the [ERC-721](./eip-721.md) protocol to ensure interoperability across different platform. This specification RECOMMENDS implementing additional security measures to prevent unauthorized access and modifications to the report NFTs.
The Standard defines a set of operations for minting, sharing, and managing NFTs that represent reports generated. Each report NFT MUST contain metadata detailing the report's name, the starting time point of the report, and the ending time point of the report, following the structure defined in the IERC_7593 interface. The minting function SHALL create a new NFT and assign it a unique token ID, ensuring each report is technically distinct. Although the content (metadata) of each report may be the same, when the share() function is used to share a report, the system will copy the report's metadata to the target address, and the newly minted NFT will have a new, incremented token ID, thus maintaining the uniqueness of each NFT. Sharing of report NFTs SHALL be facilitated through a dedicated function, allowing transfer to specified addresses while maintaining traceability. Implementations of this standard MUST be compliant with the [ERC-721](./eip-721.md) protocol to ensure interoperability across different platform. This specification RECOMMENDS implementing additional security measures to prevent unauthorized access and modifications to the report NFTs.

To realize the following interface, you have to implement the ReportNFT smart contract.

```solidity
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
interface IERC_8017 {
interface IERC_7593 {
struct Report {
string name;
uint256 startTime;
Expand Down

0 comments on commit 7a68d3e

Please sign in to comment.