Prokeep Marketplace
Elevator Pitch
An OpenSea-inspired NFT marketplace built on Aurora EVM and deployed on NEAR Blockchain, offering users low gas fees and seamless NFT trading.
Inspiration
NFT marketplaces like OpenSea dominate the Ethereum ecosystem, but high gas fees make transactions costly. By leveraging Aurora EVM on NEAR, we provide users with a cost-effective and efficient way to trade NFTs while maintaining EVM compatibility.
What It Does
Prokeep Marketplace enables users to:
- Mint, Buy, Sell, and Auction NFTs on Aurora EVM
- Benefit from low transaction fees of NEAR Protocol
- Connect their MetaMask Wallet for seamless transactions
- Store NFT media and metadata on IPFS via Pinata
How We Built It
- Frontend: React.js, Material UI
- Smart Contracts: Solidity, Hardhat for deployment
- Blockchain: Aurora EVM on NEAR
- Wallet & Transactions: MetaMask, Ethers.js, web3-react
- Storage: Pinata for decentralized file storage
Challenges We Ran Into
- Integrating Aurora EVM with NEAR while maintaining full EVM compatibility
- Optimizing smart contract gas fees for NFT transactions
- Ensuring seamless MetaMask wallet connection across pages
Accomplishments That We're Proud Of
- Successfully built an NFT marketplace on NEAR’s Aurora EVM
- Implemented seamless NFT trading features (mint, auction, direct sale)
- Optimized gas fees using Aurora’s low-cost transactions
What We Learned
- Aurora EVM provides a bridge between Ethereum and NEAR for dApp deployment
- Smart contract optimizations can reduce gas fees significantly
- Decentralized file storage (IPFS + Pinata) is crucial for NFT marketplaces
What's Next for Prokeep Marketplace
- Expand to Mainnet for real-world transactions
- Improve wallet connectivity for better UX
- Introduce multi-chain NFT trading (Ethereum, Polygon, BSC)
- Enable AI-powered NFT recommendations using analytics
Built With
React.js Hardhat Solidity MetaMask Aurora EVM NEAR Protocol Ethers.js Web3-react Pinata IPFS
Live Demo: https://nft-marketplace-near.vercel.app/
What is this
The NFT Marketplace as a decentralized Web3 application built over a javascript software stack using EVM-based backend software, tools, and specification but for a non-EVM protocol platform i.e. NEAR using Aurora EVM and its currency.
This enables users to list their NFTs on the NEAR platform and get benefits of lower gas charges and the benefit of a non-EVM blockchain protocol and platform. Here NFTs trading like directly sells, auction, lists, unlisting, etc. are feasible.
Currently its configured to connect Aurora TestNet. so connect this website with your Aurora TestNet network in your MetaMask Wallet and ensure you have sufficent balance.
How this is build
- Frontend application has built on the react.js (javascript) and @mui material design UI library
- Smart contracts have been built on solidity and compiled with the Hardhat EVM development tool
- VS Code, Hardhat and Truffle, and MetaMask, Ethers have been used in the application development
- Ethers and @web3-react javascript library used for communication with the MetaMask wallet and the smart contracts deployed at Aurora implemented over the NEAR platform.
- Pinata for storing and pinning media and metadata in the IPFS decentralized file system.
- Metamask for Aurora wallet and cryptocurrency
Installation
- Download the repository into your computer and go inside its root directory
- Install libraries in the root directory by command
npm install craete a
.envfile on the root directory and add followingsNODE_ENV=production AURORA_PRIVATE_KEY=<Your Aurora TestNet Account's Private Key> REACT_APP_API_KEY=<Pinata API_KEY> REACT_APP_API_SECRET=<Pinata API_SECRET> REACT_APP_JWT=<Pinata JWT>
Smart Contract Addresses [Aurora Testnet]
Change the address (in the src/config/contractAddress.js) if you deploy the factoryContract and marketPlace freshly using the Hardhat CLI
Address of currently deployed smart contacts are
exports.factoryContractAddress = "0xf5351DFC815b83289d1b4aDeC5c6A423eb523729";
exports.nftMarketplaceAddress = "0x2b82bedAaB3C8dCD16b71a5cc7AB119Afa6D7D2C";
It is recommend you to
- FIrst used the addresses (as above) of already deployed smart contracts on the Aurora Testnet for frontend application developemnt and integration with smart contracts perspective.
- Thereafter do the changes and deploy smart contracts then integrate with your frontend application
Hardhat
Hardhat is a very popular EVM (Ethereum Virtual Machine) development environment. It is Strongly Recommended to check about the Hardhat at https://hardhat.org/getting-started/ before proceeding further below
Compile contracts
npx hardhat compile
Run test
Aurora Testnet:
npx hardhat test --network testnet_aurora
localhost:
npx hardhat test --network localhost
this will compile the contract if not done earlier
Smart Contract deployment
Use Hardhat CLI to deploy contracts
Aurora TestNet:
npx hardhat run scripts/deploy.js --network testnet_aurora
Hardhat takes testnet_aurora parameters from the hardhat.config.js in the root directory
Local Hardhat EVM environment:
Run Hardhat EVM development environment in your computer
npx hardhat nodeDeploy contracts with running the local EVM
npx hardhat run scripts/deploy.js --network localhostNo need to do any configuration in the file
hardhat.config.jsfor the deployement to localhost since it is automatically identified by the Hardhat CLI
Getting Started with Create React App
This project was bootstrapped with Create React App.
Refer the Create React App link for more
Known bugs
- On refresh page other than home cause wallet disconnection issue so contents on the same page doesn't loads but after going to other pages by clicking links then its works fine. [ToDo] This bug needs to fixed
Built With
- aurora
- ethers.js
- evm
- hardhat
- ipfs
- metamask
- near
- pinata
- protocol
- react.js
- solidity
- web3-react
Log in or sign up for Devpost to join the conversation.