NFT Collectibles Wallet
- Payment Address (DAI): 0x16D7A415040D52F2427C2b921dfC31829C0d17fc
- Status: Terminated
Project Overview 📄​
The NFT Collectibles Wallet
is a multi-chain non-custodial mobile wallet which will allow users to claim, store and manage an unlimited number of NFTs from any Substrate based blockchain. This project will consist of 2 major parts: the mobile wallet for users and the javascript sdk for front-end developers to create NFT management UI.
Users: By scanning QR codes, users will be able to claim NFTs into their wallet. These NFTs can be consumed (burned), listed for sale or sent to others. Users will also have the ability to mint NFTs from within the mobile app. The mobile app will be downloadable from Apple's App Store and Google's Play Store.
Front-end developers: By using the nft-wallet-javascript-sdk
, javascript developers can create a UI for creating new NFTs. This javascript sdk will be able to connect to any substrate node via Polkadot.js.
Overview​
The reason we are creating the NFT Collectibles Wallet is to allow users of GamePower Network (https://www.gamepower.network) to claim NFTs from games published on the platform. We could have made the wallet closed sourced such as other projects (Enjin Wallet), but we decided since we are the new kids on the block, it is better for us to contribute to the Substrate/Polkadot/Kusama community. That is what excites us so much about this project.
Our team is very passionate about gaming and NFTs. We believe the use case for NFTs in gaming is one of the most valuable in crypto right now. The problem we see with NFTs is that explaining NFTs to the general consumer and giving them a streamlined and friendly place to use those NFTs is lacking. We want to solve this with the NFT Collectibles Wallet.
Project Details​
- Mobile Wallet Details:
The mobile wallet will be built using React Native
. We feel this will allow us to use a coding language (javascript) we've used for years and build performant mobile applications. Using React Native also allows us to code once and deploy on multiple mobile platforms.
Mobile Stack:
- React Native
- Polkadot.js
- react-qr-scanner
A mockup of our mobile wallet UI. This mockup outlines the wallet creation, QR scanning and collectibles viewer.
- Substrate Pallet Details:
The nft-wallet-pallet
will use ORML (open runtime modules library: https://github.com/open-web3-stack/open-runtime-module-library) which will provide us with some underlying NFT code. The pallet will also talk to the balances pallet to handle any minting and consuming which is needed since each NFT is minted with a type of currency native to the blockchain it is on.
Substrate Stack:
- Substrate
- ORML
These methods will serve as an interface for the NFT Wallet to communicate with any substrate runtime. nft-wallet-pallet
expects ORML's nft pallet to be a part of the runtime since it will be used to handle all NFT related functions.
We will expose a SEND and BURN callback so that the runtime can do any domain specific logic when sending or burning an NFT.
fn send(origin, asset_id: u64, recipient: AccountId) -> Result;
// burn the NFT with a short reason used by dapps
fn burn(origin, asset_id: u64, reason: Vec<u8>) -> Result;
// 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;
- Javascript SDK Details:
The front-end UI will be built using React + Polkadot.js. This will be a straight-forward and clean UI to allow the creation and management of NFTs. This UI is not a front-end for consumers but for developers to create NFTs. The underlying SDK for the front-end can be used to create any type of custom NFT management UI.
Web Stack:
- React
- Polkadot.js
Mockup of the admin frontend.
Ecosystem Fit​
The NFT Collectibles Wallet provides the ecosystem with a streamlined and standard way to create, manage and exchange NFTs. By allowing the wallet to connect to any substrate based chain, users can freely move around the ecosystem without downloading multiple wallets for each chain, while still having a wallet that focuses specifically on collectibles.
The NFT Wallet uses the RMRK NFT standard (https://rmrk.app/#standards). However the NFT Wallet project can potentially support other standards such as the new Enjin initiative on the Polkadot ecosystem.
Our target audience is 3-fold: The everyday consumer that wants to manage their NFTs, The Substrate blockchain developer that wants to connect to the NFT Collectibles Wallet to offer NFTs on their blockchain and finally Dapp developers who want to offer their users NFTs through QR codes.
- Are there any other projects similar to yours in the Substrate / Polkadot / Kusama ecosystem?
The most similar project to the NFT Collectibles Wallet is the Enjin Wallet. However, the Enjin wallet is closed sourced and multiple blockchains cannot directly integrate into it in a decentralized way. This project solves that issue by being open sourced and allowing anyone that is a part of the ecosystem to contribute and enhance the project. Also by removing the wallet's centralization, any Substrate blockchain can make use of it.