-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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 EIP: SoulBounds Interface #7121
Conversation
File
|
Co-authored-by: Andrew B Coathup <28278242+abcoathup@users.noreply.github.com>
The commit 05901be (as a parent of 1096a42) contains errors. |
|
||
## Abstract | ||
|
||
The SoulBounds EIP proposes a standard interface, called SoulBounds, that extends the `ERC-1155` token standard to support the representation and management of soulbound assets on the Ethereum network. Soulbound assets are unique digital items that are permanently bound to a specific user or address, preventing transferability to other addresses. |
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.
The SoulBounds EIP proposes a standard interface, called SoulBounds, that extends the `ERC-1155` token standard to support the representation and management of soulbound assets on the Ethereum network. Soulbound assets are unique digital items that are permanently bound to a specific user or address, preventing transferability to other addresses. | |
The SoulBounds EIP proposes a standard interface, called SoulBounds, that extends the [ERC-1155](./eip-1155.md) token standard to support the representation and management of soulbound assets on the Ethereum network. Soulbound assets are unique digital items that are permanently bound to a specific user or address, preventing transferability to other addresses. |
|
||
## Motivation | ||
|
||
The concept of soulbound assets is commonly used in gaming and non-fungible token (NFT) applications, where certain items or collectibles are intended to be non-transferable. Currently, there is no standardized way to represent and manage soulbound assets on the Ethereum network. By introducing the SoulBounds interface, I aim to establish a common standard for developers to create, manage, and interact with soulbound assets in a consistent and interoperable manner. |
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.
Try to avoid first person.
The concept of soulbound assets is commonly used in gaming and non-fungible token (NFT) applications, where certain items or collectibles are intended to be non-transferable. Currently, there is no standardized way to represent and manage soulbound assets on the Ethereum network. By introducing the SoulBounds interface, I aim to establish a common standard for developers to create, manage, and interact with soulbound assets in a consistent and interoperable manner. | |
The concept of soulbound assets is commonly used in gaming and non-fungible token (NFT) applications, where certain items or collectibles are intended to be non-transferable. Currently, there is no standardized way to represent and manage soulbound assets on the Ethereum network. The SoulBounds interface aims to establish a common standard for developers to create, manage, and interact with soulbound assets in a consistent and interoperable manner. |
Smart contracts implementing the `ERC7121` interface MUST implement all of the functions defined in the `ERC7121` interface | ||
Smart contracts implementing the `ERC7121` interface MUST implement all of the `ERC1155` functions |
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 interface below is IERC7121
. You should be consistent.
|
||
Smart contracts implementing the `ERC7121` interface MUST implement all of the functions defined in the `ERC7121` interface | ||
Smart contracts implementing the `ERC7121` interface MUST implement all of the `ERC1155` functions | ||
Smart contracts implementing the `ERC7121` standard MUST implement the `ERC-165` `supportsInterface` function |
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.
Smart contracts implementing the `ERC7121` standard MUST implement the `ERC-165` `supportsInterface` function | |
Smart contracts implementing this standard MUST implement the [ERC-165](./eip-165.md) `supportsInterface` function |
Smart contracts implementing the `ERC7121` interface MUST implement all of the `ERC1155` functions | ||
Smart contracts implementing the `ERC7121` standard MUST implement the `ERC-165` `supportsInterface` function | ||
|
||
The SoulBounds interface extends the `ERC-1155` by introducing the following additional functions: |
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.
The SoulBounds interface extends the `ERC-1155` by introducing the following additional functions: | |
The SoulBounds interface extends ERC-1155 by introducing the following additional functions: |
|
||
## Rationale | ||
|
||
The SoulBounds interface provides a standardized way to represent and manage soulbound assets. By defining a common set of functions, developers can create contracts and applications that handle soulbound assets consistently. This standardization enhances interoperability, simplifies integration across platforms, and promotes the growth of the soulbound asset ecosystem on Ethereum. |
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 reads more like it belongs in the Motivation section. The Rationale section should justify technical decisions made within the EIP itself, while the Motivation justifies the EIP as a whole. In the Rationale section you could explain, for example, why you chose ERC-1155 as a base.
I am closing this pull request because we are in the process of separating EIPs and ERCs into distinct repositories. Unfortunately, as far as we are aware, GitHub does not provide any tools to ease this migration, so every pull request will need to be re-opened manually. As this is a PR to create / modify an ERC, I will kindly ask you to redirect this to the new repository at ethereum/ERCs. We have prepared a guide to help with the process. If there is relevant history here, please link to this PR from the new pull request. On behalf of the EIP Editors, I apologize for this inconvenience. |
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: