-
Notifications
You must be signed in to change notification settings - Fork 117
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
Implement new NFT endpoints #846
Comments
@rafaelcr @agraebe @markmhx @kyranjamie let me know if I've missed any endpoints, I'll add them to the list. |
Nice... I think the ownership history endpoint should include any associated STX transactions so marketplaces can display the sell price |
This looks theoretically useful to me, though @agraebe was closer to the user research and might know of specific developers who'd want to review and verify that this plan would satisfy their present needs. Perhaps we can @ mention them here to take a look. Separately, do we want this to be an extension of the API after all rather than a separate service? |
@markmhx The idea right now is to add these endpoints to the API as it is today. We'd revisit the endpoint distribution once we follow up with the microservices project we've been planning. |
Hi there -- curious if there is any time estimate for this line item:
Working on a project now that would greatly benefit from this being implemented. Thanks! |
@zone117x are the specifications finalized so that Tintash can take this on? |
All new endpoints are now merged and will be available in the next release |
We've aligned on the need for more NFT related endpoints that revolve around ownership. These new endpoints have come out of research and discussion started from NFT metadata support. It's not currently practical for the API to implement metadata support for NFTs akin to a large scale OpenSea-like backend to power NFT marketplaces. However, something more reasonable and also useful we can implement are endpoints that can enumerate NFTs by their asset class, or get a list of NFTs owned by a given address, or show the history of ownership for a given NFT, etc.
These endpoints will only include the type of data that is available in the db, e.g. contract addresses, NFT (Clarity) values, owner addresses, etc. They will not include metadata that must be resolved via contract calls or resolving off-chain resources such as off-chain names/descriptions, images, arbitrary attributes, etc.
For more context on out-of-scope features see Individual NFT (SIP-009) token metadata support, and Complete NFT class metadata support.
Endpoints to implement:
As mentioned above, the responses for these endpoints can include things like the asset class / address, txid, block height, NFT Clarity value.
The API can include/parse information specific to a ratified SIP, however, only if it's possible with the data currently provided via the Stacks Node event observer interface. E.g. SIP-specific contract call function signatures that the API can parse out of a tx, or contract log events.
For example, SIP-009 specifies a contract trait function:
However,
token-uri
for a given NFT is not something we'd implement as part of the endpoints in this PR because it would require resolving the data via contract-calls. If a contract log event for this data was also specified as part of a SIP, then it would be candidate for inclusion within these API endpoints.The text was updated successfully, but these errors were encountered: