Closed chungquantin closed 1 month ago
My concerns for this specification is should we support collection (introduce in the trait crate non_fungible_v2
)? IMO, we should because it has become the standard of the NFT space. PSP34 interface is a bit out-dated right now and it does not have the supported standard on the ink! side for the NFT collection manager contract.
If we agree to support collection creation / item management, we will need to make some adjustments to the specification of the PSP34. For collection item, we can follow PSP34, for collection we will come up with our own PSP34Collectable
spec.
cc: @Daanvdplas @peterwht
Please use the PSP34 spec from here: https://github.com/inkdevhub/standards/tree/master/PSPs (slightly more up-to-date)
Here is also a good reference implementation: https://github.com/Cardinal-Cryptography/PSP34
(note, it is on ink! v4.3.0, so there are some improvements with ink! v5)
I would remove the ERC-721 milestone for now. It can remain in the spec if you want, but I don't think we should prioritize its implementation.
We should have a base PSP34
that matches the PSP standard exactly. No extra functions (dispatch or read).
And then, the remaining functionality listed in Permissionless / Permissioned dispatchables
should be an extension. For example, a PSP34Swappable
, and PSP34Manager
(for admin stuff), etc. etc.
My concerns for this specification is should we support collection (introduce in the trait crate
non_fungible_v2
)? IMO, we should because it has become the standard of the NFT space. PSP34 interface is a bit out-dated right now and it does not have the supported standard on the ink! side for the NFT collection manager contract.If we agree to support collection creation / item management, we will need to make some adjustments to the specification of the PSP34. For collection item, we can follow PSP34, for collection we will come up with our own
PSP34Collectable
spec.cc: @Daanvdplas @peterwht
Yes, we should definitely support this.
Implement the non-fungible feature to
pop-api
to support interact with non-fungible tokens.Basic Specification
PSP34Mintable Interface
WRITE API METHODS
PSP34Burnable Interface
WRITE API METHODS
WRITE API METHODS
PSP34Metadata Interface
WRITE API METHODS
READ API METHODS
PSP34Enumerable
READ API METHODS
Extensions
[Proposed] PSP34Admin
WRITE API METHODS
[Proposed] PSP34Swappable
TBA
[Proposed] PSP34Ownanle
WRITE API METHODS