Welcome to Beginner Blocs! An NFT is a digital asset that represents real-world art. Beginner Blocs is an NFT Marketplace, designed by beginners for beginners, is a platform for people to create, buy, sell, and transfer NFTs around the world. Click on the get started button to learn more details about the NFT world and how to use the marketplace!
Buy: Use Metamask wallet to log in and choose your favorite NFT through our Marketplace homepage. Make sure your wallet has enough ETH to buy the NFT. After the transaction is complete, you can view this NFT on your profile page.
Create: Click on Create button to mint your own NFT. Upload your art and input the name and description. The link appears below shows the status of the transaction. Wait for a few seconds to complete. Go to your profile page to see your owned NFTs.
Sell: Click on the NFT you want to sell someone. Click the list button to put your NFT into the NFT marketplace. Set the price and confirm the transaction in your Metamask.
Transfer: Click on the NFT you want to transfer to someone. Click the transfer button to transfer your NFT to other people. Set the receiver's address and confirm the transaction in your Metamask. By clicking on another receiver's address you can view the receiver's profile to check the owned NFTs to see if the NFT is transferred to this person.
This project was developed by Connie Ho, Justin Ly, Sufiyan Gani, Yulin Wan, Akshay Rakheja
- Each package including the root has its own
.env
file. Followenv.example
to ensure you have the right keys (TB listed here...)
- Install packages with
npm i
- Once a smart contract is written, compile an ABI with
npx hardhat compile
- Run the local test node with
npx hardhat node
- Deploy a contract with
npm run deploy:ropsten
- Run the test suite with
npm test
- Enter the server in
packages/server
- Install packages with
npm i
or skip it if you rannpm run install:all
in the root folder. - Start the server in dev mode with
npm run watch:dev
or regular mode withnpm start
. The server is hosted athttp://localhost:3001/
- Run the test suite with
npm test
- Enter the client in
packages/client/
- Install packages with
npm i
or skip it if you rannpm run install:all
in the root folder. - Run
npm start
to launch the application, and visithttp://localhost:3000/
to see the application - Run the test suite with
npm test
- Adding royalty distribution capability
- Delist an NFT
- Deploying on mainnet
- Auction Functionality
- Capability to view/list/create music and or video NFT's
- Explore page takes time if too many NFTs are listed
- If the user is not logged in then they cannot see owner on details page
- If the user refreshes while a transaction is being processed then there is no way of knowing that a transaction was processing
- The create page allows files other than images even though we only supprt image NFT