Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Painting-NFT-Market Submission #11

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added .DS_Store
Binary file not shown.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/node_modules
Binary file added 6883_Final_Report.pdf
Binary file not shown.
57 changes: 33 additions & 24 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,37 +1,46 @@
# NFTVerse Data Warehouse
# Ether Painting: an NFT painting displayer based on blockchain

## Overview:
NFTVerse Data Warehouse is a comprehensive NFT data storage and retrieval system that combines on-chain NFT transaction history, metadata, and off-chain NFT multimedia content such as images and videos stored on the InterPlanetary File System (IPFS). The project aims to provide an easy-to-use API for developers to build novel NFT applications and analytics tools to foster innovation and growth within the NFT ecosystem.
**Xuechen Zhou (xz3153)**

## Components:
**Danling Wei (dw3033)**

### Data Collection:
The data collection module aggregates NFT transaction data and metadata from various blockchain networks (e.g., Ethereum, Binance Smart Chain, Solana) using their respective APIs. Off-chain NFT multimedia content is fetched from IPFS using the content hash provided in the metadata. Data is collected in real-time to ensure the most up-to-date information is available for developers.
**Yongjie Fu (yf2578)**

### Data Processing:
Collected data is cleaned, validated, and enriched with additional details (e.g., token standard, NFT collection name) before being stored in the data warehouse. The data processing module also handles deduplication and normalization of the data across different blockchain networks to provide a unified view.
**Yu Wu (yw3748)**

### Data Storage:
The data warehouse is built on a scalable and distributed database system optimized for handling large volumes of structured and semi-structured data. This system ensures low-latency queries and high availability for the APIs built on top of it.
**Tong Wu (tw2906)**

### API Layer:
The API layer provides a suite of RESTful APIs for developers to access the data warehouse. It offers endpoints for querying NFT transaction history, metadata, and multimedia content, along with advanced search and filtering capabilities. The API layer also handles authentication and rate limiting to ensure fair usage and security.

### Documentation and Developer Portal:
A comprehensive documentation and developer portal is available to help developers understand the API usage, access sample code, and explore interactive API documentation. This portal also offers a community forum for developers to discuss ideas, ask questions, and share their NFT application projects.

## Possible Use Cases:
### Execution Guideline:

### NFT Analytics Platform:
Developers can create an analytics platform that tracks the performance of various NFT collections, marketplaces, and individual tokens, providing insights into trends, sales volume, and pricing.
```cmd
npx hardhat node
```

### NFT Discovery and Recommendation Engine:
Using the data warehouse, developers can build a recommendation engine that helps users discover new NFTs based on their preferences, browsing history, and social network.
- It will generate 20 virtual accounts for testing.

### NFT Portfolio Management:
Developers can create an NFT portfolio management app that allows users to track their NFT holdings, analyze their investments, and make informed decisions on buying or selling NFTs.
- Open the MetaMask in browser
- Add new network with the following settings:
- Network Name: Hardhat

- New RPC URL: http://127.0.0.1:8545

- Chain ID: 31337

- Currency symbol: ETH
- Switch to Hardhat Network and import some accounts generated above for testing

### NFT-based Gaming and Virtual Worlds:
The API can be used to develop novel gaming experiences and virtual worlds where users can showcase, trade, or interact with their NFTs in an immersive environment.
```cmd
npm run deploy
```

By providing a robust and comprehensive data warehouse solution for NFTs, the NFTVerse Data Warehouse project aims to fuel innovation and growth in the NFT ecosystem by offering developers a powerful toolset for creating cutting-edge NFT applications.
- It will deploy the contract

```
npm run start
```

- It will start the React front end

- After connect to the wallet, you can create, sell, buy, list, cancel list NFTs
11 changes: 11 additions & 0 deletions hardhat.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
require("@nomiclabs/hardhat-waffle");

module.exports = {
solidity: "0.8.4",
paths: {
artifacts: "./src/backend/artifacts",
sources: "./src/backend/contracts",
cache: "./src/backend/cache",
tests: "./src/backend/test"
},
};
Loading