-
Notifications
You must be signed in to change notification settings - Fork 529
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add ERC: Smart Contract Identifiers and Metadata Extension #265
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All Reviewers Have Approved; Performing Automatic Merge...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All Reviewers Have Approved; Performing Automatic Merge...
Head branch was pushed to by a user without write access
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All Reviewers Have Approved; Performing Automatic Merge...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All Reviewers Have Approved; Performing Automatic Merge...
Head branch was pushed to by a user without write access
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All Reviewers Have Approved; Performing Automatic Merge...
Head branch was pushed to by a user without write access
I made some improvements to the code and the description and fixed the issues raised regarding the numbering of the proposal as well as the link to the ethereum-magicians forum. let me know if anything else needs to be done to merge and continue the process. Thanks |
--- | ||
eip: 7625 | ||
title: Smart Contract Id's and Metadata Extension | ||
description: Proposes an interface for contractId's and metadata at the smart contract level. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Your description doesn't add any new information that wasn't in the title, plus all ERCs are proposing something, and most are describing interfaces. In short, you have a lot of fluff in your description.
|
||
## Abstract | ||
|
||
This document outlines a proposed framework aimed at enhancing the Ethereum ecosystem's smart contract factories and the handling of Smart Contract Transfers and data. By adopting principles akin to those used for non-fungible tokens (NFTs), this framework intends to manage the lifecycle of smart contracts from their deployment to their integration into digital marketplaces. It introduces a method for tokenizing or ‘mobilizing’ smart contracts, associating them with unique identifiers and metadata. This initiative is designed to improve the discoverability, manageability, and interoperability of smart contracts, creating a a more secure ownership transfer and seamless dApp interactions. Ultimately, the framework seeks to further the tokenization of assets and build a more connected and efficient Ethereum ecosystem. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You have a lot of fluff in here too. For example:
This document outlines a proposed framework aimed at enhancing the Ethereum ecosystem's smart contract [...]
None of these words explain anything about your proposal.
Your abstract should be brief but have enough detail for the reader to get a technical overview of how your proposal achieves its goals.
Integrating the concept of smart contracts as mintable or registerable tokens with unique identifiers (contractIds) can greatly enhance the functionality and efficiency of various applications, from art drops to supply chain management and legal contracts. There are a broad set of novel use cases that would create the value to make the gas cost of contract creation reasonable on mainnet and more than feasible on layer2 infrastrucure where gas is cheaper per block. | ||
|
||
Here’s a deeper look into these use cases and applications, the aim is to highlight the motivations for different devs to implement contractIds and the creation of both fungible and Non-fungible versions of smart contracts: | ||
|
||
### Enhanced Functionality for Art Drops: | ||
- **Unique Art Experiences**: Utilizing contractIds, artists can create unique, serialized art drops where each piece or collection is associated with a distinct contract. This not only authenticates the art but also enables special functionalities such as unlocking private content, redeemable experiences, or evolving art based on ownership history. | ||
- **Community Engagement**: ContractIds can facilitate community-driven features, such as voting rights on future projects or decentralized curation of art exhibitions, by leveraging the non-fungible nature of the contracts to represent membership or participation rights. | ||
|
||
### Ease of Tracking in Supply Chain: | ||
- **Provenance and Authenticity**: Each item in the supply chain can be associated with a unique contractId, enabling transparent tracking of its origin, manufacturing process, and distribution journey. This not only assures consumers of the product's authenticity but also simplifies recall processes if needed. | ||
- **Efficient Logistics**: By tokenizing assets as fungible or non-fungible tokens based on their nature, companies can automate and streamline logistics operations, from inventory management to shipping and receiving, leveraging smart contracts for real-time updates and actions. | ||
|
||
### Pre-packaged Legal Contracts: | ||
- **Automated Legal Agreements**: Legal documents such as leases, loan agreements, or incorporation papers can be standardized and sold as pre-packaged smart contracts. Each contractId represents a unique agreement, customizable through a set of parameters defined at the time of purchase or activation. | ||
- **Seamless Integration into Business Processes**: Businesses can integrate these tokenized legal contracts into their operations, automating processes such as contract execution, compliance checks, and renewals. The fungible or non-fungible nature of these contracts, coupled with unique contractIds, ensures easy management and verification across stakeholders. | ||
|
||
### General Implications: | ||
- **Non-Fungible Smart Contracts for Unique Assets**: Utilizing NFTs for unique assets or rights (e.g., one-of-a-kind artworks, real estate, or intellectual property) provides a clear, immutable record of ownership and transaction history, enhancing trust and liquidity in these markets. | ||
- **Fungible Smart Contracts for Divisible Assets**: Fungible tokens, managed through smart contracts with specific contractIds, are ideal for assets that require divisibility and uniformity, such as shares in a company, commodities, or digital currencies. This facilitates ease of trading and integration into financial systems. | ||
|
||
By tying every asset, right, or agreement back to a unique or fungible smart contract managed through specific contractIds, the proposed framework significantly enhances the functionality, security, and efficiency of digital and physical asset management. This approach not only simplifies the tracking and transfer of assets across various domains but also opens up new avenues for innovation, customization, and engagement in digital marketplaces and beyond. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All of these points apply equally to ERC-721 or ERC-20 tokens. Nothing in this section sells the idea of contract identifiers over already existing solutions.
Your motivation section should explain why someone should use this proposal, not the general idea of tokens.
|
||
This contract factory framework proposes a structured system for the tokenization and management of smart contracts within the Ethereum ecosystem. This system introduces a set of interfaces and functionalities designed to standardize the assignment of unique identifiers (contractIds) to smart contracts and to manage associated metadata, enabling enhanced interoperability, management, and discoverability of smart contracts. | ||
|
||
###Interface |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
###Interface | |
### Interface |
Contracts wishing to receive contractIds must implement the `ierc-7625Receiver` interface and handle incoming transfers in a manner that aligns with their specific application requirements. | ||
|
||
```solidity | ||
//SPDX-License-Identifier: MIT |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code within the document itself must be licensed as CC0-1.0. I allow MIT licensed code in the assets
directory if need be.
``` | ||
## Rationale | ||
|
||
The framework/interface provides a structured approach to smart contract tokenization and metadata management, aiming to enhance the Ethereum ecosystem's composability and interaction with the client side, creating more efficiency in the application layer. By facilitating the assignment of unique identifiers and linking contracts with metadata, the framework improves smart contracts' discoverability and interoperability. The specification of a metadata schema and URI offers a flexible means to enrich contract utility and integration capabilities. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This all reads like Motivation. The Rationale section should be used to explain choices made within the document, while the Motivation section justifies the whole document. My favourite analogy is:
Motivation: We need to build a shed because...
Rationale: We chose to paint the shed red because...
|
||
## Backwards Compatibility | ||
|
||
this framework introduces functionalities that complement the existing Ethereum ecosystem without necessitating modifications to current smart contract implementations. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this framework introduces functionalities that complement the existing Ethereum ecosystem without necessitating modifications to current smart contract implementations. | |
This framework introduces functionalities that complement the existing Ethereum ecosystem without necessitating modifications to current smart contract implementations. |
The reference implementation provided demonstrate the application of tokenizing and giving identifiers that can be used in collections of assets, contract owners can participate in creating and managing tokenized smart contracts with unique identifiers and metadata. | ||
|
||
```solidity | ||
// SPDX-License-Identifier: MIT |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same license concern.
|
||
## Copyright | ||
|
||
Copyright and related rights waived via CC0. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please use the exact waiver from the template.
thanks I can dig this lol. Co-authored-by: Sam Wilson <57262657+SamWilsn@users.noreply.github.com>
The commit 2a3e284 (as a parent of 3024604) contains errors. |
There has been no activity on this pull request for 2 weeks. It will be closed after 3 months of inactivity. If you would like to move this PR forward, please respond to any outstanding feedback or add a comment indicating that you have addressed all required feedback and are ready for a review. |
Stale? |
Funny you ask I was just gonna deploy a reference implementation to abstract chain. It was but I am gonna start working on it. Can you give me till after the new years to find a co author and try and push it… I think it can add a lot of value and I have some people interested in using it.
Thanks for asking.
Sincerely,
Saul🤟🏾
Sent from [Proton Mail](https://proton.me/mail/home) for iOS
…On Thu, Dec 12, 2024 at 10:53 AM, Sam Wilson ***@***.***(mailto:On Thu, Dec 12, 2024 at 10:53 AM, Sam Wilson <<a href=)> wrote:
Stale?
—
Reply to this email directly, [view it on GitHub](#265 (comment)), or [unsubscribe](https://github.com/notifications/unsubscribe-auth/BDZ2QTVF6ZI3SC65KVOCGYL2FHLTTAVCNFSM6AAAAABDNHFUL6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKMZZG43TQNRWGM).
You are receiving this because you modified the open/close state.Message ID: ***@***.***>
|
When opening a pull request to submit a new EIP, please use the suggested template: https://github.com/ethereum/EIPs/blob/master/eip-template.md
We have a GitHub bot that automatically merges some PRs. It will merge yours immediately if certain criteria are met: