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

Elastic

NFT renting protocol inspired by Air B' n B. Includes a search aggregator function which highlights the benefits received as a part of renting and a user interface which mediates the fair exchange of assets.

Elastic

Created At

HackFS 2022

Project Description

The idea for this project comes from us listening to the community and the needs. At an early brainstorm session it became apparent that there was a need to create a platform to showcase/market NFTs so as to 'trade' them. The intention was to create a marketplace where the lister expects to get their asset back (as opposed to being traded away), is flexible to the point where the lister can set the agreement as they see fit, and also serves an educational purpose for the general public by making the 'benefits' afforded to NFTs apparent- specifically, by highlighting their benefits as not commonly understood therefore adding significant value as a marketplace tool.

Description From our GitHub ReadMe:

Elastic is an NFT Renting Marketplace where listers can highlight the benefits gained from renting their NFT. The Dashboard tracks the progress of each rental and ensures a timely return.

The app uses a collaterailized deposit (the amount is decided upon by the rental lister) as insurance at the outset of each agreement. A rental lister also decide upon the amount of rent they would like to charge per day.

At the end of the timeperiod for a rental, if the renter does not pay the rental charge and does not return the NFT, the lister has the option of collecting the collateral deposit via their personalized dashboard within the app.

Upon the successful completion of a rental both the rentee and lister get a receipt from IPFS which can be used for accounting purposes.

How it's Made

The back end for this project is made up of two main smart contracts- Elastic.sol and Agreement.sol. Elastic.sol is the factory contract of sorts and is able to produce agreements off it representing rentals. There are a great deal of functions within the smart contracts to mediate the exchange of a rental- say for pulling the collateral when the agreement period is finished/if the person does not return the NFT- as well as actions to mediate the listing of an NFT onto the smart contract itself. The way the main contract was visualized and executed expertly by the team- is as a 'broker' contract for handling rentals onto our marketplace, Elastic.

The front end is built off of React JS - off of create-react-app. The front end is built out in a single page style with routing to handle a landing page (HOME), as well as routes to the places of primary functionality within our app (LIST, SEARCH).

The front end framework used to connect to the smart contracts are Ethers.js and we make a simple Web3 connection to MetaMask. On the front end, the Web3 connection allows us to create a personalized/'protected' route to a user dashboard. It is from the dashboard that the personalized metadata allows the rendering of all user information pertaining to NFTs they have listed, rental agreements that they are currently in- as well as records involving their time spent transacting on the Elastic platform.

The 'records' involved with their time using the Elastic platform is where we have incorporated IPFS. Upon successfully completing a rental agreement on the user is 'sent' an IPFS record which is visible on their personalized dashboard. For the moment this is a JSON object which we list as the receipt CID (Content Identifier) about an exchange. This JSON object contains all the information about the rental agreement and is conceptualized as being an asset for legal and/or accounting purposes.

background image mobile

Join the mailing list

Get the latest news and updates