onflow / developer-grants

Grants for developers that contribute to the broader developer ecosystem
Apache License 2.0
48 stars 17 forks source link

SimpleHash NFT API - Flow Integration - High Priority Contracts #108

Open ollywilsonsf opened 1 year ago

ollywilsonsf commented 1 year ago

SimpleHash NFT API - Flow Integration - High Priority Contracts

Grant category

Please select one:

Description

SimpleHash currently provides an NFT API with access to Flow NFT metadata, media, transaction history, and ownership info for the top 40 collections. Since our launch earlier this year, we've had some of the leading web3 applications build on top of us (www.simplehash.com), with millions of daily queries.

This proposal is specifically for funding to load the next tier of high priority collections, which involves significant engineering effort to do so in a reliable way, while taking into account the differing interfaces and edge cases for each collection. We propose identifying the next tier of highest priority Flow NFT collections, based on developer ecosystem demand, and loading those, to provide a more fully-featured Flow NFT API experience.

The bulk of the cost involved is the engineering time required to work through the edge cases and differences in implementation for each "next tier" contract, which can be bespoke / feature different interfaces for retrieving the metadata, media, and ownership history, on a contract-by-contract basis.

This proposal would help speed up Flow developer wishlist items such as "NFT integration": https://github.com/onflow/developer-grants/issues?q=is%3Aissue+is%3Aopen+label%3Awishlist. It would also accelerate aspects of other developer grant proposals, such as https://github.com/onflow/developer-grants/issues/106 (specifically, the NFT integration)

Further information about SimpleHash and our NFT API platform can be found at www.simplehash.com, or in our developer docs at https://simplehash.readme.io/reference/overview

Problem statement

Querying NFT data is challenging, as it involves pulling together multiple data sources, including the on-chain data, metadata, media, and transaction history.

The round-trip time for obtaining this data can be significant, and each individual contract can have a different implementation, depending on the standard(s) it adheres to. Pulling media and metadata from decentralized systems can be slow or unreliable.

On Flow, there is significant variation in the implementation of NFTs and their metadata, even contract to contract (with a greater degree of variance than is seen on EVM chains, for example). This makes building up a comprehensive index of Flow contracts difficult.

SimpleHash solves this challenge by indexing Flow (among other networks) and caching all the relevant NFT data into a single standard and schema.

Developers can use the SimpleHash API to query any type of NFT data they need from a single and consistent set of endpoints. Specifically, our target audience members are web3 developers building NFT-based applications in the Flow ecosystem.

To provide a fully comprehensive Flow NFT API solution however, we'll need to load the next highest priority tier of contracts.

Proposed solution

Impact

There is currently a lack of comprehensive NFT indexing and API solutions on Flow. SimpleHash is one of the few options with strong Flow support (or any level of Flow support). (The currently supported contracts can be viewed here: https://docs.google.com/spreadsheets/d/1Yu35v4GJDEt1Efe7tUEDMLqdLpwg6Tl00JD7STkEH_s/edit#gid=0). We already power customers building a variety of different web3 use cases, including wallets, NFT showcase apps, minting platforms, and analytic solutions.

Given we're multi-chain native, we also appreciate the differences between different blockchain ecosystems and networks, and aim to tailor our solutions based on what the developers from each ecosystem need most. We've built up a strong understanding of the requirements and challenges working with the data in this space, and plan to apply it to build out the best Flow NFT API option.

In addition, a major part of web3 adoption will be providing the tools and capabilities web2 developers coming into the space are familiar with. SimpleHash, being a REST-based API, provides a familiar interface and mode of interaction for developers fitting this description. This will facilitate adoption of Flow ecosystem priorities by new developers in the space.

Once we have the next tier of contracts indexed, Flow developers will have a single, reliable go-to option to retrieve all of the metadata, media, transaction and ownership history they need for Flow NFTs across a broad range of contracts. This will save them time and engineering resource from having to build out indexing solutions themselves. This will help speed the adoption of Flow ecosystem NFT projects, and the NFT space more broadly.

Milestones and funding

Note: Please consider adoption and/or maintenance milestones at the end of your project.

Milestone Deliverables Timeline Risks USD proposal
1 - Standard Flow support Flow NFT indexing and API support across core 40 contracts Live N/A - currently live 0
2 - Scoping of next tier of high priority contracts Selection of the next highest priority Flow contracts to fully index 0.5 weeks Challenges quickly scoping and shortlisting the next tier contracts 0
2b - Developer ecosystem input Feedback gathering from active Flow NFT projects on selected next tier of contracts 1.5 weeks N/A 0
3 - Engineering implementation Indexing and media retrieval of identified priority contracts 4 weeks Edge cases per contract 41,000
4 - QA and contract validation In-depth quality checks and metadata cross-referencing for loaded contracts contracts 1 week - 8,780
5 - Flow community outreach Intensive engagement with Flow developer ecosystem regarding availability of high priority collections via SimpleHash API contracts 4 weeks - 0
6 - Ongoing maintenance of integration Continual maintenance of Flow integration, and adoption of latest standard(s) as released Ongoing Requirement to integrate any Flow NFT standards update as soon as possible 0
7 - Adoption milestones Estimate of 50+ developers using Flow endpoints once high priority contract work completed. Goal for 1,100 after one year. (Electric Capital estimates there are 23,300 active web3 developers across all chains - target is for 5% of this group). Recommended USD unlock for hitting 1,100 one year mark is 5,000 USD. Ongoing Will need to engage with Flow foundation / Dapper Labs to drive further developer awareness 0

Total funding proposed: 49,780

Team

Name Role Bio Contact
Alex Kilkka Co-Founder https://www.linkedin.com/in/alex-kilkka-68824037/ alex@simplehash.com
Olly Wilson Co-Founder https://www.linkedin.com/in/olly-wilson/ olly@simplehash.com
chrisackermann commented 1 year ago

Hey @ollywilsonsf, thanks so much for sharing your proposal! We'll review and get back to you shortly.

ollywilsonsf commented 1 year ago

Hi @chrisackermann - wanted to check if there was an update on the review process?

chrisackermann commented 1 year ago

Hi @ollywilsonsf! We've accepted your proposal and are following up directly on next steps, thanks!