- Overview
- Core Features Implemented
- Technologies
- Repo Setup
- Requirements
- Setup the Project
- Setup the Frontend
- Testing the Smartcontract
- NFT-Factory-MVP Contract Address
- Live Link
- Contributors
- Contributing to the project
NFT Factory is a groundbreaking project by Zeus Labs aimed at democratizing access to financial assets by tokenizing real-world assets seamlessly on the Gnosis blockchain. This repository contains the Minimum Viable Product (MVP) of the NFT Factory, providing the foundation for creating and managing NFTs representing real-world assets.
Deployment on Gnosis chain
-
Deployment on Gnosis chain for the purpose of this hackhathon.
-
data base for storage purpose
-
Nsme create the nfts
-
end users can mint
-
end user can list
-
end users can redeem their nft
-
market place for end users
Test Coverage
- Unit testing ensures that all the codes meet the quality standards and the functions return the expected output.
- Test coverage shows us the extent of how much of our codes are covered by tests. We ideally aim for 100% coverage.
Natspec commenting
- This documentation provides information about the codebase and their implementation for both technical and non technical people.
Stack | Usage |
---|---|
Solidity |
Smart contract |
Next JS |
Frontend |
To setup the repo, first fork the Nft-assets Repo, then clone the forked repository to create a copy on the local machine.
$ git clone https://github.com/BukiOffor/Nft-assets
Change directory to the cloned repo and set the original PrismVox.io repository as the "upstream" and your forked repository as the "origin" using gitbash.
$ git remote add upstream https://github.com/BukiOffor/Nft-assets.git
- Hardhat
- Alchemy key
- Metamask key
- https://gnosisscan.io/ API Url
- Node JS
*Note:
This project was setup on a windows 10 system using the gitbash terminal. Some of the commands used may not work with the VScode terminal, command prompt or powershell.
The steps involved are outlined below:-
The first step involves cloning and installing hardhat.
$ cd core
$ npm i -D hardhat
$ npm install
$ npm install --save-dev "@nomiclabs/hardhat-waffle" "ethereum-waffle" "chai" "@nomiclabs/hardhat-ethers" "ethers" "web3" "@nomiclabs/hardhat-web3" "@nomiclabs/hardhat-etherscan" "@openzeppelin/contracts" "dotenv" "@tenderly/hardhat-tenderly" "hardhat-gas-reporter" "hardhat-deploy"
Next create a .env
file by using the sample.env. Retrieve your information from the relevant sites and input the information where needed in the .env
file.
To retrieve your gnosis key.
- Login to gnosisscan and hover over the dropdown arrow for your profile on the navbar.
- Click on API keys and add to create a new project (optional step).
- Once the project has been created, click on the copy button to copy the API key.
- Paste it in the .env file
- First run the frontend on your local server to ensure it's fully functional before building for production.
- Setup and install dependencies
$ cd client
$ npm install
$ npm run dev
-
Create an account on vercel and authorize your GitHub account.
-
Once you're redirected to the Dashboard, click on the drop down menu and select
Add GitHub Org or Account
. -
In the pop-up window, select the install option.
-
Once installation is completed, return to the dashboard and click
new project
. -
Select the TeamB organization and select the zurischool repo to import the project.
-
Enter the relevant details and click
Deploy
.
- Coverage is used to view the percentage of the code required by tests and unittests were implemented to ensure that the code functions as expected
Coverage Test
-
To test the smartcontract, first open a terminal and run the following command:
-
First install Solidity Coverage
$ npm i solidity-coverage
-
Add
require('solidity-coverage')
to hardhat.config.json -
Install Ganache
$ npm i ganache-cli
- Run coverage
$ npx hardhat coverage --network localhost
# if you get errors and you want to trace the error in the terminal
$ npx hardhat coverage --network localhost --show-stack-traces
Tx:
0x4f60fbb2a2d0c0162c7357ea0fd67492577168690e170d24aeb1fe60fd3afd0c
- 0x289fe2781066b37e1e211065281f0671dd72e115da9237e7f10b6829b58071d3
the transaction hashes
https://docs.google.com/document/d/1TXCMG2I1hF8gLAJNjz69bioiZXOVwK0crSlhXWqMDvw/edit?usp=sharing
nft-demo.mp4
NFT.Factory.Explainer.video.Client.POV.online-video-cutter.com.mp4
This Project was created by these awesome dedicated members
If you find something worth contributing, please fork the repo, make a pull request and add valid and well-reasoned explanations about your changes or comments.
Before adding a pull request, please note:
- This is an open source project.
- Your contributions should be inviting and clear.
- Any additions should be relevant.
- New features should be easy to contribute to.
All suggestions
are welcome!