Add ERC: ERC721 Sustainable Collections #751
Closed
+129
−0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
eip: xxxx
title: ERC721 Sustainable Collections
description: A standard for managing NFTs with dynamic fees and donation-based engagement.
author: Gustavo Lobo (@gfLobo)
status: Draft
type: Standards Track
category: ERC
created: 2024-12-04
requires: 721
Abstract
This EIP defines a standard for economically sustainable NFTs using features derived from the ERC721 standard. It integrates dynamic minting fees, role-based access control, and donation-based engagement. These mechanisms align tokenomics with principles of scarcity and value attribution while enabling creators to foster community engagement through contributions. Additionally, the standard supports optional features like token raffles to further incentivize community participation.
Motivation
NFT systems often face issues like inflationary supply and lack of mechanisms to incentivize meaningful engagement between creators and contributors. This EIP addresses these gaps by introducing:
Specification
Core Functionalities
Dynamic Minting Fees:
Minting fees increase dynamically based on the number of tokens owned by the user. This discourages hoarding and promotes equitable token distribution.
Donation System:
Contributors can support creators by donating ETH. Upon donation, users may receive the Contributor Role, granting them special access to features like raffles or exclusive minting rights.
Role-Based Access:
Administrative Controls:
Optional Raffle Mechanism (Extra Feature)
Creators can optionally organize raffles to reward contributors. Raffles encourage engagement by allowing contributors to compete for ownership of specific tokens.
Creating a Raffle:
Joining a Raffle:
Random Winner Selection:
block.prevrandao
).Roles and Permissions
Security Considerations
Implements
ReentrancyGuard
to prevent recursive call vulnerabilities in donation and raffle functions.Utilizes OpenZeppelin's
AccessControl
to enforce role-based restrictions.Raffle mechanics use auditable and on-chain randomness for fairness.
Allows administrators to pause the contract in emergencies, ensuring safety during unexpected events.
Test Cases
Reference Implementation
The reference implementation is provided at Collectible. It includes all specified functionalities, including dynamic fees, donation systems, role-based access, and optional raffle mechanisms.
Backwards Compatibility
This EIP is fully compatible with ERC721. Extensions like dynamic minting fees, donation systems, and optional raffles are modular and do not impact existing ERC721 token functionalities.
Copyright Waiver
Copyright and related rights waived via CC0.