Skip to content

Milestone update for the GamePower nft-collectibles-wallet#418

Merged
Noc2 merged 7 commits intow3f:masterfrom
GamePowerNetwork:master
May 18, 2021
Merged

Milestone update for the GamePower nft-collectibles-wallet#418
Noc2 merged 7 commits intow3f:masterfrom
GamePowerNetwork:master

Conversation

@GamePowerDev
Copy link
Copy Markdown
Contributor

@GamePowerDev GamePowerDev commented May 17, 2021

This milestone update is for accepted application #341

After much development has been done on our original Milestone 1: "Build NFT Collectibles Wallet Mobile App", It was realized that in order to make our vision of a NFT wallet that can work across any substrate based blockchain, we will need to implement a pallet that sits on top of the OMRL NFT library.

We originally had this as part of our #341 submission but removed it. However its inclusion would benefit this project greatly. Instead of creating an entirely new NFT pallet/standard, we are using ORML's library for NFTs. Any substrate chain that includes this pallet into their runtime will provide an interface for the wallet to communicate with. A list of methods that the pallet will provide has been added to our application for review.

Since we have already started working on this pallet, we will not be asking Web3 to fund this milestone, however we would like it included in our application since it was started after our application acceptance.

@semuelle
Copy link
Copy Markdown
Contributor

Hi Michael, thanks for the update. Do I understand correctly that you are extending the ORML NFT pallet and that any parachain with that pallet will still be compatible?

@GamePowerDev
Copy link
Copy Markdown
Contributor Author

GamePowerDev commented May 18, 2021

Hi Michael, thanks for the update. Do I understand correctly that you are extending the ORML NFT pallet and that any parachain with that pallet will still be compatible?

Hello Sabastian! Yes, in a way we are extending ORML NFT pallet but not directly forking the pallet... we will be making a separate pallet that gives a loose coupling to the ORML NFT pallet. There are only 2 methods that we will interface with on the ORML NFT pallet and that's "transfer" and "burn".

The reason we are making this a loose coupling is because any chain integrating with the wallet can choose to not allow burning of NFTs or transferring of NFTs on their chain through the wallet. A runtime can easily pass a bool to our pallet Config stating that there should be no transfers or burning... likewise if they allow transfers and burns but would like to perform domain specific logic before those methods are sent to ORML, they can pass a function to the "OnTransfer" and "OnBurn" Config params to handle that logic.

We are providing 4 methods in our pallet that will interface with ORML also, and these are specific for wallet functions:

// list an NFT for sale
fn list(origin, asset_id: u64, price: T::Balance) -> Result;
// buy a listed NFT
fn buy(origin, asset_id: u64, list_price: T::Balance) -> Result;
// add an emote to the NFT (for social)
fn emote(origin, asset_id: u64, emote: Vec<u8>) -> Result;
// allows a user to claim a minted NFT
fn claim(origin, asset_id: u64) -> Result;

Our goal is to allow any chain that is running ORML to behave just as it does today. The NFT Wallet pallet will just live along side the ORML NFT pallet and piggyback off of its storage when displaying, transferring or burning a user's NFTs. In the future we may expand the wallet to be fully decoupled from ORML and allow chains to use whatever underlying NFT system of their choosing. But right now we really like the way ORML is handling NFTs and will stick with that for a while.

@alxs alxs self-assigned this May 18, 2021
@alxs
Copy link
Copy Markdown
Contributor

alxs commented May 18, 2021

Hey again @GamePowerDev. Thanks for the clear explanation, this makes sense and it looks good to me.

I have something to add not directly related to the additional milestone: note that deliverable 0d is usually a Medium article that may be catered to less technical users, and it would be perfectly fine for you to only deliver it only with the last milestone. We would also cross-promote such an article. A tutorial as you describe it is usually delivered in the README and would already be part of the documentation (see the description of deliverable ob). So feel free to move what you describe as deliverable 0d to 0b and remove it wherever you don't intend to publish anything.

@GamePowerDev
Copy link
Copy Markdown
Contributor Author

Thanks for the feedback Aleixo! I've gone ahead and remove 0d from both milestone 1 and 2 because it only makes sense to write that article once at the very end (milestone 3).

Copy link
Copy Markdown
Contributor

@alxs alxs left a comment

Choose a reason for hiding this comment

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

Sounds good. I'll share with the rest of the team.

@alxs alxs added the ready for review The project is ready to be reviewed by the committee members. label May 18, 2021
@Noc2 Noc2 merged commit e32555a into w3f:master May 18, 2021
@w3f w3f deleted a comment from github-actions bot May 18, 2021
chrisli30 pushed a commit to AvaProtocol/W3F-Grants-Fork that referenced this pull request May 31, 2021
* NFT Collectibles Wallet

* updating project scope and adjusting cost

* updating estimated duration

* reordering milestone numbers

* adding new milestone

* removing 0d from both milestone 1 & 2 and keeping it in milestone 3 only

Co-authored-by: Michael Huntington <2466745+MikeHuntington@users.noreply.github.com>
alxs pushed a commit that referenced this pull request Jul 20, 2021
create an rfp for candle auction contract
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready for review The project is ready to be reviewed by the committee members.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants