Skip to content

KevinFarani/Alyra-Dapp-Blocklease

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Blocklease.io : Marketplace de location de NFTs

Bienvenue sur Blocklease.io, une application dont le but est que vous puissiez vous aussi avoir un Bored Ape en photo de profil sans devoir hypothéquer votre maison pour cela :)

ERC-4907

L’ERC-4907, extension du token ERC-721, est un nouveau standard NFT implémenté par l’Ethereum Improvement Proposal afin de permettre la mise en location de ces derniers.

Tout l’intérêt apporté par l’EIP-4907 réside dans la dissociation de la propriété d’un NFT, des droits d’utilisations de celui-ci. En d’autres termes, cette nouvelle fonctionnalité permet de déléguer, pendant une période donnée, certains droits accordés par le NFT. Il est par exemple possible de louer le terrain d’un metaverse pour y créer un évènement éphémère !

Tout est paramétré à l’avance, que ce soit le prix de la location, la durée de celle-ci et les droits qu’elle confère. Cela apporte une plus grande flexibilité au marché. Ainsi, il n’est plus nécessaire de dépenser des centaines, voir des milliers de dollars, pour jouer à son jeu blockchain préféré.

Documentation fonctionnelle

One Pager

Litepaper

Magnifique schéma

Video

Pssst... une vidéo de démonstration est disponible ici

Application

Vous pouvez utiliser l'application en vous rendant ici

Contrat

Le contrat de la marketplace est déployé sur le testnet Goerli.

Marketplace : 0xc5ED11eD3B4B21406ec05dD74E52602aC43d2bD4

Utilisation locale

Démarrage

Cloner le repo

git clone https://github.com/KevinFarani/Alyra-Dapp-Blocklease.git

Déploiement

Placez vous dans le dossier backend

cd Alyra-Dapp-Blocklease/backend

Installez les dépendances

npm install

Ouvrez un nouveau terminal au même endroit et lancez la blockchain locale hardhat

npx harhat node

Lancez le déploiement

npx hardhat run scripts/01_deploy.js --network localhost

Optionnel : lancez les scripts de peuplement

npx hardhat run scripts/02_mint.js --network localhost
npx hardhat run scripts/03_listing.js --network localhost

Lancement de l'application

Placez vous dans le dossier frontend et lancez l'application

cd Alyra-Dapp-Voting/frontend

Installez les dépendances

npm install

Modifiez les constantes des contrats

Mettre en service le code commenté et préfixé par USE FOR LOCAL BLOCKCHAIN
cd Alyra-Dapp-Voting/frontend
npm run dev

Connectez vous à l'adresse : http://localhost:3000/

Tests unitaires

Placez vous dans le dossier backend

cd Alyra-Dapp-Blocklease/backend

Si ce n'est pas déjà fait, ouvrez un nouveau terminal au même endroit et lancez la blockchain locale hardhat

npx harhat node

Lancez les tests

npx hardhat test

Visualisez le coverage

npx hardhat coverage

Vous devriez optenir ce résultat :

----------------------|----------|----------|----------|----------|----------------|
File                  |  % Stmts | % Branch |  % Funcs |  % Lines |Uncovered Lines |
----------------------|----------|----------|----------|----------|----------------|
 contracts/           |    96.71 |    85.71 |    92.31 |    96.55 |                |
  ERC4907.sol         |    81.82 |     62.5 |    83.33 |    78.57 |       66,91,92 |
  IERC4907.sol        |      100 |      100 |      100 |      100 |                |
  Marketplace.sol     |    99.24 |    88.16 |      100 |    99.33 |            522 |
  NotRentableNFTs.sol |       80 |      100 |    66.67 |       80 |             21 |
  RentableNFTs.sol    |       80 |      100 |    66.67 |       80 |             21 |
----------------------|----------|----------|----------|----------|----------------|
All files             |    96.71 |    85.71 |    92.31 |    96.55 |                |
----------------------|----------|----------|----------|----------|----------------|

Credits

@KevinFarani en tant que developpeur

Alexandre P. et Idoumou B. en tant que consultants

About

Projet final de certification

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published