NFTware

NFTware

Secure & Efficient solution for Software Licensing and Royalty using NFTs

The problem NFTware solves

⚒️ Working of NFTware

image

  • User creates his/her profile. The details are stored on IPFS & Polybase.
  • User can Follow other people.
  • User can mint NFT for his software having a option on which type of NFT he/she wants to mint.
  • 3 ways to Mint NFT :-
    • image
    • proprierty executable :
      • Only the executable file of the software minted (NFT A) is shared with User 2
      • User 2 cannot mint his own NFT B using NFT software A.
    • Reusable & Modifiable (without Royalty):
      • Code files are shared with the user
      • User can mint his own NFT B using the software as a dependent NFT A.
      • None of the total amount User 2 receives from his subscribers is given to User 1.
    • Reusable & Modifiable (With Royalty):
      • Code files are shared with the user
      • User can mint his own NFT B using the software as a dependent NFT A.
      • 10% of the total amount User 2 receives from his subscribers is given to User 1 as royalty fee.
  • User can Filter out NFT Softwares based on Price, Ratings etc.
  • User can give his own rating to the software.
  • Live Price of the NFT is determined by the Ratings it gets.
    • The rating is passed through Aggregator function which calculates the price of the NFT off the chain. (No gas consumed)
  • User can subscribe to the NFT software. After subscription, user can download ZIP files for the software.
  • Once subscribed user can :-
    • chat with the owner of the NFT software.
    • Group chat with other subscribers to the same NFT software.
    • Notifications are sent to the user on receiving messages.

✨Features

  • Live Chart of top NFT softwares.
  • Dymanic Price changes in NFT based on Ratings.
  • Mint NFT in 3 ways.
  • Live 1-1 and Group chat with people.
  • Push Notification

Challenges we ran into

One of the challenges faced during the integration of push chat in NFTWare was related to the creation of groups by the NFT owners. The buyers needed to be added to these groups, but this was not possible directly because the NFT buyers could not add themselves to groups they were not already a part of.

To solve this challenge, the development team came up with a solution that involved triggering an automatic message from the buyers to the NFT owners. The NFT owners could then verify these messages on direct messages (DMs) and subsequently add the buyers to the respective groups themselves.

Overall, this approach allowed for a streamlined and secure process of adding buyers to the appropriate groups, ensuring that only authorized users could access the chat feature.

Another major issue we faced was regarding the use Polybase. Referencing records of 2 collections was not the same as in Firebase, and the queries were rather more laborious than expected. However, it wasn't inconvenient, but it took some time to figure out how we'd relate 2 records of different collections.

Discussion