Flex-NFT-Marketplace / Flex-Marketplace-Contract

10 stars 35 forks source link

[Experimental] [POC] ERC-5643 Subscription NFTs #124

Open 0xandee opened 2 days ago

0xandee commented 2 days ago

Create and work inside folder experimental/erc_5643_subscription_nft:

It proposes an additional interface for NFTs to be used as recurring, expirable subscriptions. The interface includes functions to renew and cancel the subscription.

Implementation Details:

Reference: https://github.com/ethereum/ERCs/blob/60569a1f8b57fea10340dc34602baf895a613daa/ERCS/erc-5643.md

codeZe-us commented 2 days ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

Mid level Cairo Developer

How I plan on tackling this issue

I will implement a contract that supports NFT subscriptions with expiration dates, then include functions to renew, cancel, and check the expiration status.

DiegoB1911 commented 2 days ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

I'm a Full Stack Developer with two years of experience. I'm also a member of Dojo Coding, where I'm expanding my expertise in Cairo and Web3 technologies.

How I plan on tackling this issue

To solve this, I will:

  1. Understand the ERC-5643 specification.
  2. Set up the folder structure.
  3. Design the smart contract.
  4. Implement the contract logic.
  5. Deploy and test.
  6. Document the code.
JoE11-y commented 2 days ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

I'm Joseph a blockchain developer with over four years in blockchain and backend development, I’ve worked across different ecosystems, handling everything from smart contract design to on-chain interactions and protocol integration. I focus on building secure, scalable, and reliable blockchain applications, managing both on-chain and off-chain infrastructure.

How I plan on tackling this issue

Begin by studying the codebase to ensure design consistency, then proceed to work on the task.

  1. Study current codebase design
  2. Leverage all provided resources within the issue to get a better grasp of the task at hand.
  3. Implement the task.
  4. Add tests to make sure the changes are working and no adverse effects
  5. And lastly optimize
ShantelPeters commented 2 days ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

I am shantel peters, a frontend and blockchain developer , with experience in cairo, html, css, react , solidity, javascript, typescript etc. My experience with blockchain and smart contract development positions me well to design this system and create an intuitive frontend for managing subscription statuses and payments. kindly assign

How I plan on tackling this issue

To solve the issue of implementing ERC-5643 subscription NFTs, I would design a smart contract that allows NFTs to act as recurring, expirable subscriptions. The contract would include functions for renewing and canceling the subscription, enforcing an expiration date and recurring payments for continued access. By following the ERC-5643 standard, I would ensure compatibility with existing NFT ecosystems while providing flexibility for real-world applications like memberships and subscriptions.

saimeunt commented 2 days ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

I have contributed to several Cairo projects on OnlyDust and I've worked on very similar issues in the past, porting Solidity ERCs to Cairo eg. https://github.com/carbonable-labs/cairo-erc-7496 and https://github.com/carbonable-labs/cairo-erc-7498

How I plan on tackling this issue

I will carefully read the ERC and proposed Solidity implementation and I'll implement the expected behavior in Cairo. I will then use Starknet Foundry to test if the implementation is correct.

Emrys02 commented 2 days ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

I started with cairo a month ago and have been actively solving algorithm problems to build my problem-solving skills in the language and has also helped me develop a strong understanding of cairo’s capabilities. I also prioritize the time complexity and efficiency of my solutions ensuring optimal performance. I am now looking forward to garnering more experience by contributing to actual projects.

How I plan on tackling this issue

Assuming there's an NFT struct available, my approach would be to create a trait which provides the renewal and cancel actions. The renewal function would call the payment processing method and update the renewal date while the cancel function would restrict user's access to the NFT effectively ending the subscription.