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

NFT provenance tracker SDK - grant application #1832

Closed
wants to merge 28 commits into from
Closed
Changes from 14 commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
54539ae
initial template
Ekaanth Jun 28, 2023
7eb647b
initial commit
Ekaanth Jun 28, 2023
95e9b04
Content added
Ekaanth Jul 3, 2023
078ff6e
Merge branch 'w3f:master' into master
Ekaanth Jul 3, 2023
386691c
Update metaquity-nft-provenance-tracker.md
metaquity Jul 3, 2023
712a502
Update metaquity-nft-provenance-tracker.md
metaquity Jul 3, 2023
c149a02
Update metaquity-nft-provenance-tracker.md
metaquity Jul 3, 2023
b7958a8
Update metaquity-nft-provenance-tracker.md
metaquity Jul 3, 2023
d00beea
updated image
Ekaanth Jul 3, 2023
4cb1154
updated image
Ekaanth Jul 3, 2023
f0f24e7
updated Image
Ekaanth Jul 3, 2023
1b78b64
updated milestones
Ekaanth Jul 3, 2023
fb90469
Merge branch 'w3f:master' into master
Ekaanth Jul 3, 2023
dd309db
file name updated
Ekaanth Jul 3, 2023
353abda
Update metaquity_nft_provenance_tracker.md
Ekaanth Jul 13, 2023
2c6f348
updated application
Ekaanth Jul 27, 2023
86a7d32
Update image
Ekaanth Jul 27, 2023
e110196
Merge branch 'w3f:master' into master
Ekaanth Jul 27, 2023
d5f4cbe
Update license
Ekaanth Jul 27, 2023
48de46f
updated
Ekaanth Jul 28, 2023
a18a3de
Update tech architecture
Ekaanth Aug 25, 2023
f8034ee
Update metaquity_nft_provenance_tracker.md
Ekaanth Aug 25, 2023
e7de5d9
Overview updated
Ekaanth Aug 25, 2023
95a4ad9
Merge branch 'w3f:master' into master
Ekaanth Aug 25, 2023
203dd05
updated milestone
Ekaanth Sep 10, 2023
89154da
updated
Ekaanth Sep 19, 2023
d4f5c6f
updated
Ekaanth Sep 19, 2023
018f097
Merge branch 'w3f:master' into master
Ekaanth Sep 19, 2023
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
134 changes: 134 additions & 0 deletions applications/metaquity_nft_provenance_tracker.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
# NFT PROVENANCE TRACKER SDK

- **Team Name:** [Metaquity limited](https://www.metaquity.xyz) (Part of Substrate Builders Program)
- **Payment Address:** 0x26d5BD3B8AC9c38DfA5E2A29EEAC2573f7b0d10b
- **Level:** 2

## Project Overview :page_facing_up:

We propose to build an NFT Provenance Tracker SDK, a on-chain system capable of tracking and displaying the entire lifecycle of NFTs across multiple parachains in the Polkadot ecosystem. The tracker will collect data like NFT creation, past ownership history, price history, metadata, and locking/unlocking events. The data will be made accessible via SDK.

### Project Context

The rise of NFTs has brought a new level of complexity to asset tracking in the blockchain space. The unique and non-interchangeable nature of NFTs, combined with the ability to fractionalize and trade them across multiple parachains, presents a pressing need for a tool that can track their provenance in a trustless and transparent manner.

Our research indicates that, while there are some solutions for tracking NFT provenance, none currently offer cross-parachain functionality combined with a on-chain model for scalability. By developing this tool, we can significantly enhance transparency and trust in the Polkadot NFT space, benefiting individual NFT owners, DEXs, parachain operators, and potential asset buyers.

### Project Details

Architecture:
![](https://i.ibb.co/TkWNWWK/Screenshot-2023-07-03-at-14-13-35.png)

A standard asset tracking SDK will be built with the following layers:
- Blockchain layer: Access to the blockchain data source and crawl through the blocks from genesis block
- Middleware layer: Contains the crawlers through which we can crawl the blockchain and collect information about NFTs and write into the database and index it using elastic search.
takahser marked this conversation as resolved.
Show resolved Hide resolved
- SDK: This package will have all the necessary functions to fetch details about the NFT asset.

Technology stack:
- MongoDB
- Typescript
- Elasticsearch
- JavaScript
- [Rust-web3](https://github.com/tomusdrw/rust-web3)
takahser marked this conversation as resolved.
Show resolved Hide resolved
- Nginx, AWS

### Ecosystem Fit

There are quite a few projects in the Polkadot/Kusama ecosystem which are working with NFTs. And going forward with XCM v4 supporting cross chain transfer of NFT's, we believe tracking and tracing of the entire lifecycle of an NFT will not only be a need but a must have.

The NFT-Provenance-Tracker SDK built by Metaquity will be a great way for these projects to implement provenance for their projects and will save a lot of time and effort to build this from scratch.

Also in line with our project, we intend to extend this SDK to include use cases of tracking fractional ownership of the individual NFTs. This use case alone will open a lot of doors of bringing real world assets into the Polkadot ecosystem.

Later on we can extend EVM compatibility to this project to make it more versatile.

## Team :busts_in_silhouette:

### Team members

- Abhishek Chatterjee
- Abhishek Sira Chandrashekhar
- Arko Ganguli

### Contact

- **Contact Name:** Abhishek Chatterjee
- **Contact Email:** [email protected]
- **Website:** [Metaquity](www.metaquity.xyz/)

### Legal Structure

- **Registered Address:** 128 CITY ROAD, UNITED KINGDOM, LONDON, EC1V 2NX
- **Registered Legal Entity:** Metaquity Limited.

### Team's experience

- **Abhishek Chatterjee**: Co-founder of Metaquity, 15+ years of product and technical experience. 4+ years of blockchain experience.
- **Abhishek Sira Chandrasekhar**: Software developer with 4+ years of experience in development 2+ years in Blockchain working on DID, SSI, VC and ZKP. Prior to Metaquity used to work at Litentry as a mobile developer.

- Metaquity Network is already part of the Substrate Builders Program.


### Team Code Repos

- https://github.com/metaquiry-network/nft-provenance-tracker

Team members GitHub:

- https://github.com/abhichat85
- https://github.com/ekaanth

### Team LinkedIn Profiles (if available)

- https://www.linkedin.com/in/abhishekchatterjee85/
- https://www.linkedin.com/in/abhishek-sira-chandrashekar-821244b7/

## Development Roadmap :nut_and_bolt:

### Overview

- **Total Estimated Duration:** 2,5 months
- **Full-Time Equivalent (FTE):** 2 FTE ( full time employees)
- **Total Costs:** 20,000 USD

### Milestone 1

- **Estimated duration:** 1 month
- **FTE:** 1,5
- **Costs:** 10,000 USD


| Number | Deliverable | Specification |
| -----: | ----------- | ------------- |
| **0a.** | License | Apache 2.0 / GPLv3 / MIT / Unlicense |
| **0b.** | Documentation | We will provide both inline documentation of the code and a basic tutorial that run the code, which will show how the new functionality works. |
| **0c.** | Testing and Testing Guide | Core functions will be fully covered by comprehensive unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. |
| **0d**. | Docker | |
| **0e**. | Article | |
| 1. | Data model definition | Designing and defining the architectural overview of the data model for this application |
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is another research-leaning deliverable that I wouldn't support. Please focus on the deliverables, rather on activities - While I agree that you should have a well-defined model (rather than having non-typed js) I'd expect it the related code do be self-documenting by being clear and expressive and supplement it with inline-code where deemed necessary. Architectural diagrams or model diagrams can make sense here, too, however, I'd expect it to be part of the Documentation (0b.). To conclude, I suggest you remove this deliverable and incorporate it into the "Documentation" deliverable instead.

| 2. | NFT scanner module | This module will scan the blockchain for any NFT related data from the genesis block and invoke indexer module |

### Milestone 2

- **Estimated Duration:** 1,5 month
- **FTE:** 1,5
- **Costs:** 10,000 USD


| Number | Deliverable | Specification |
| -----: | ----------- | ------------- |
| **0a.** | License | Apache 2.0 / GPLv3 / MIT / Unlicense |
| **0b.** | Documentation | We will provide both inline documentation of the code and a basic tutorial that run the code, which will show how the new functionality works. |
| **0c.** | Testing and Testing Guide | Core functions will be fully covered by comprehensive unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. |
| **0d.** | Docker | |
| 0e. | Article | |
| 1. | NFT indexer module | Index all the data that is scanned by the scanner module and pass it to the database layer. |
| 2. | Design and development of the NFT provenance SDK | A typescript based SDK which consists of API calls to the database to fetch the NFT lifecycle. |
| 3. | Technical Documentation for the SDK | We will provide a technical doc outlining the process of integrating the SDK to other projects. |

## Future Plans

- Support the NFTs of Statemint
- Support wasm based NFTs
- Adding capabilities for tracking and tracing fractional ownership of NFTs
- Adding capabilities for tracking locking/unlocking of NFTs