Backend for ERC-721 NFT Marketplace

This project contains the smart contracts needed for a functioning ERC-721 based NFT Marketplace.

The project utillizes the Hardhat framework along with its useful plugins such as “hardhat-gas-reporter”, “solidity-coverage”, “hardhat-waffle” and “hardhat-etherscan”.

The main contract, “Marketplace.sol” utiliizes best practices by using OpenZepplin’s libraries wherever possible, such as ERC721.sol, IERC721Receiver.sol, ReentrancyGuard.sol and Counters.sol. The contract also comes with the appropriate unit tests which can be run by running

npx hardhat test


Install the node packages:

yarn install

Compile the Smart Contracts:

npx hardhat compile


to deploy the marketplace run the following command:

npx run .\scripts\0-deploy-marketplace.js

Add the –network flag to choose your desired network. (runs on Hardhat local network by default)


View Github