Native NFT support #42

Open
opened 2025-12-28 18:12:06 +00:00 by sami · 1 comment
Owner

Originally created by @alexvanin on GitHub (May 6, 2021).

Native NFT support should be reconsidered. This issue contains brief changes that were required for implementation and all connected tasks.


Define well-known container attributes for NFT ownership transfer, including:

  • NFT-Chain
  • NFT-Type
  • NFT-Address
  • NFT-Options
  • NFT-ID

GetExtendedACLResponse message contains eACL signature in it's body. This signature is approved by alphabet nodes and valid in the moment eACL was changed. However later NFT can be transferred to other owner. Therefore public key of the current NFT owner might be different from the public key in eACL signature of GetExtendedACLResponse. (#153)

Container listing is going to be broken because container contract can't update owner values as soon as we do not monitor token transfers from main chain. Therefore container contract needs separate index on containers with NFT support and storage nodes should lookup over all containers with NFT to find out actual owner at the moment of the listing request. (https://github.com/nspcc-dev/neofs-node/issues/524)

Other connected tasks:

Originally created by @alexvanin on GitHub (May 6, 2021). Native NFT support should be reconsidered. This issue contains brief changes that were required for implementation and all connected tasks. --- Define well-known container attributes for NFT ownership transfer, including: - NFT-Chain - NFT-Type - NFT-Address - NFT-Options - NFT-ID `GetExtendedACLResponse` message contains eACL signature in it's body. This signature is approved by alphabet nodes and valid in the moment eACL was changed. However later NFT can be transferred to other owner. Therefore public key of the current NFT owner might be different from the public key in eACL signature of `GetExtendedACLResponse`. (#153) Container listing is going to be broken because container contract can't update owner values as soon as we do not monitor token transfers from main chain. Therefore container contract needs separate index on containers with NFT support and storage nodes should lookup over all containers with NFT to find out actual owner at the moment of the listing request. (https://github.com/nspcc-dev/neofs-node/issues/524) Other connected tasks: - update neofs-api-go (https://github.com/nspcc-dev/neofs-api-go/issues/279) - check NFT owner in inner ring (https://github.com/nspcc-dev/neofs-node/issues/508) - sue NFT owner in ACL checks (https://github.com/nspcc-dev/neofs-node/issues/507)
Author
Owner

@amlwwalker commented on GitHub (Mar 7, 2022):

is there any further thought around this?
There are a couple of use cases where this would be a fantastic capability to be able to check ownership of an NFT/semi-FT to allow an account access to data/objects/containers.

@amlwwalker commented on GitHub (Mar 7, 2022): is there any further thought around this? There are a couple of use cases where this would be a fantastic capability to be able to check ownership of an NFT/semi-FT to allow an account access to data/objects/containers.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
nspcc-dev/neofs-api#42
No description provided.