project screenshot 1
project screenshot 2
project screenshot 3
project screenshot 4
project screenshot 5
project screenshot 6

SofToken

SofToken is a DApp that allows users to Mint a NFT for their software with a license. Other users have a option to subscribe to the minted NFT and use it to build their own software. Different types of restrictions can be applied to the usage of a software before it is minted

SofToken

Created At

Scaling Ethereum 2023

Winner of

💬 Push Protocol — Best use of Push Group Chat

👯 Polybase — Pool Prize

📜 Scroll — Just Deploy!

Project Description

SofToken is a blockchain-based application that allows users to Mint a NFT for their software. Other users have a option to subscribe to the minted NFT and use it to build their own software. Different types of restrictions can be applied to the usage of a software before it is minted.


  • 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 :-

  1. 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.
  1. 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.
  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.

How it's Made

  1. NextJS - Frontend

  2. Solidity - Smart Contract

  3. Scroll - Deployment of Contract. This helped us make the marketplace scalable, improve the user experience by improving the speed of minting tokens and also reducing the gas fees.

  4. Polygon zkEVM - Deployment of Chainlink Functions Contract. This helped us push the computation for computing cost of an NFT based on user review dynamically off-the-chain, using Chainlink Functions.

  5. Polybase - Storing User and NFT details - the "backbone" of the project. This helped us literally gamify our marketplace experience. Be it introducing some small features like following other users, or storing the NFT metadata off-the-chain, our project was dependent on Polybase for everything. Polybase allowed us to design the schema the way we wanted, and implement a database system system just like we did in Web2 seamlessly.

  6. Push Protocol - this was the cherry on the top for improving the UX.

  • Push Chat for 1-1 Chat. Buyers of an NFT could directly approach the owner/developer of the NFT for discussions.
  • Push Group Chat. All the buyers of an NFT would be automatically added to a group chat for discussions regarding the software. This helps to not just license a software through an NFT, but also provide a community-like experience, thereby increasing the scope of the project immensely.
  • Push Notifications. All the notifications from the personal/group chats, and new NFT creations from the users one has followed can be viewed as notifications.
  1. Chainlink Functions - Implementing Aggregator function off the chain. Although on a Beta release, the Chainlink Functions feature promises of an unlimited number of possibilities, allowing us to scale and expedite the DApps considerably.

  2. IPFS - Storing ZIP files of software, User Profile, Cover Images. ThirdWeb

background image mobile

Join the mailing list

Get the latest news and updates